Phil Weinstein / Accomplishments -- June 2015 -- Edit 7-02-2015 (b)
General Development Accomplishments |
--------------------------------------------
[I.A] New/Enhanced Software / USACE-ABQ #8
Scenario Manager ("Explorer") for Stakeholders
--------------------------------------------
[See also Patrick Lynn's report on "Requirements for Scenario Explorer", also devised and documented in June 2015].
Two particular software engineering tasks required for the support of a new "RiverWare Scenario Explorer" were addressed in June 2015. These are:
This prototype development incorporated also the creation of a "stubbed" version of the Scenario Explorer dialog based on the new requirement document's "mockup" Qt UI file. When running the new "ScenarioExplorer.exe" program, only the Scenario Explorer is shown, i.e. instead of the standard RiverWare workspace. The Scenario Explorer dialog supports the loading of a RiverWare model file. Testing provisions were also developed to deploy the Scenario Explorer dialog from within RiverWare.
The work for these tasks is described in these documents:
--------------------------------------------
[I.A] New/Enhanced Software / BOR-UC [Discretionary Development]
DMI Excel Dataset Configuration Script Action
--------------------------------------------
Development for this overall feature was substantially completed in the prior month (May 2015). Some architectural and technical adjustments were made in June for delivery in RiverWare 6.7. These changes include:
This document was updated to reflect these changes:
--------------------------------------------
[I.B] New/Enhanced Software / Unfunded Development
Workspace configuration: Initial Workspace View Scroll Locations and Zoom Levels
--------------------------------------------
A new persistent configuration is being implemented which allows the user to indicate how each of the three workspace views are initially scrolled and zoomed after saving and reloading a RiverWare model file. The following can be specified for each workspace view:
- Zoom, a selection among the available zoom levels.
- (Scroll) Location, one of:
- Lower Left
- Last Save Location
- Center-Most Object
- Center on [Specified Object]
Development was started in June 2015, and is being completed in July. This enhancement will address Gnats 5657, "Default workspace location when loading a model is not always correct."
Maintenance Accomplishments / June 2015 |
--------------------------------------------
[II] RiverWare Software Maintenance / Software Updates / Bug Fixes
--------------------------------------------
The following bugs were fixed:
--------------------------------------------
[II] RiverWare Software Maintenance / Software Updates / Other Maintenance
Qt4 to Qt5 Port
--------------------------------------------
Qt5 Port Preparation: Acquiring and Building Qt5, Configuring RiverWare Build
RiverWare 6.7 and recent prior versions, and RiverSMART tools, are built with Qt 4.8.5. We will soon want to port to a current version of Qt 5 (now up to Qt 5.5, released in early July 2015). This will be much easier than the prior major Qt port, from Qt3 to Qt4, which had required an extended two-phase effort: (a) porting to Qt4 with the Qt3 compatibility library, and (b) recoding uses of the Qt3 compatibility library with Qt4-proper provisions. This had been completed for RiverWare 6.4 (released in November 2013).
Porting from Qt4 to Qt5 will be much more direct. Virtually all significant Qt4 C++ classes used in RiverWare and RiverSMART exist in Qt5. Essentially, the API changes are to a limited number of methods of those classes. It is standard practice to apply Qt5 porting work to the main development branch (merged frequently from a temporary porting branch). That is, the RiverWare and RiverSMART source code trees will be buildable with both Qt4 and Qt5 during this transition while new parallel development work is also being done.
In June 2015, we took these initial steps to prepare for the Qt5 port of RiverWare:
- Qt 5.4.2 source code was acquired, configured, and built with Microsoft Visual Studio 2010. Both "release" and "debug" variants were built, but only for 64-bit (not 32-bit). This will be sufficient for completing the Qt5 port. We will subsequently acquire the latest stable version of Qt5 for the actual Qt5 / RiverWare and RiverSMART releases.
- ICU 55.1 (International Components for Unicode) was acquired and built. This is required for building Qt WebKit in Qt5.
- An adaptation of the RiverWare build configuration was devised for using these libraries in place of Qt4. (This work was put aside in a GIT branch).
These processes and changes are described in this internal document.
- Building Qt 5.4.2 and ICU / CADSWES / June 2015
R:\doc\Qt\2015\BuildingQt5-June2015.html
R:\doc\Qt\2015\BuildingQt5-June2015.pdf
[HTML] [PDF]A major challenge of the Qt5 port will be handling Qwt, our Qt open-source plotting package. We are currently using Qwt 5.2.3. The first version of Qwt intended to be used with Qt5 is Qwt 6.1. This is a non-trivial upgrade; there are significant differences between the Qwt 5 and Qwt 6 API's. We could instead port (and then subsequently maintain, on our own) a version of Qwt 5.2.3. But upgrading to Qwt 6.1 (or later) would be the preferable approach.
--- (end) ---