Phil Weinstein / Accomplishments -- March 2014 -- 4-04-2014 (minor edit: 4-16-2014)
General Development Accomplishments |
--------------------------------------------
[I.A] New/Enhanced Software / BOR IDIQ 19 (Alb Enhancements to RPL)
Improved RPL report group editing, and related enhancements.
--------------------------------------------
These mostly-RPL enhancements, including a couple related series flag display enhancements, were implemented in March 2014:
These enhancements are described in this document, and summarized below:
(1) RPL Object Selector Dialog Enhancement: Added Name Filter.
A name filter, based on the filter design from the Diagnostic Output dialog, was added to the RPL Object Selector dialog. This is implemented with a new row of controls along the top of this selector dialog which allows the user to show only RPL Objects whose names contain user-specified text. Name matching can be either case sensitive or case insensitive. Recent filter text can be recalled using a drop-down history list. When the name filter is on, the list of RPL Objects is modified in these ways:
- The RPL Objects (e.g. Rules and Functions) in the RPL Set are shown in a flat list instead of in a tree organized by RPL Group.
- A "Group" column is shown.
- Column sorting is enabled. (Sort by clicking in a column header. Reverse the order by clicking again).
(2) RPL Set editor: New "Add To Report Group" context menu operation.
A new "Add To Report Group" context menu was added to the RPL Set editor's RPL Object treeview. It presents a submenu of existing Report Groups within the same RPL Set to which the clicked RPL Object can be added.
(3) "Open Rule (#)..." context menu operation in series displays (SCT, Open Series Slot, etc.)
The series data displays (SCT, Open Series Slot dialog, Edit Account dialog, etc.) support a new "Open Rule (#) ..." context menu operation on cells (slot timesteps) having a Rule Priority -- regardless of whether or not Priority Number display is enabled. This brings up the Rule Editor Dialog for the rule by which the clicked value was set.
(4) Show tooltips for all special flags (excluding "Input" and "Output").
The series data displays (SCT, Open Series Slot dialog, Edit Account dialog, etc.) now show a tooltip describing the series flag associated with the series timestep cell under the mouse pointer. In the case of timesteps set by rules, the rule priority number is also shown.
(5) SCT now shows 'P', 'm' and 'A' flag letters for those Accounting Outputs.
The 'P', 'm' and 'A' Accounting Output Flags had been shown only as 'O' (Output) in the SCT because there were no flag buttons effectively providing a legend for those letters. But now, since tooltips show the full names of those flags, these flag letters are shown in the SCT's series data table, instead of just 'O' for Output.
--------------------------------------------
[I.A] New/Enhanced Software / BOR IDIQ 19 (Alb Enhancements to RPL)
Design for improved access to RPL documentation
--------------------------------------------
An analysis and design was written for displaying certain components of the RPL documentation within RiverWare. This proposal focuses on two components:
RiverWare documentation is currently authored using Adobe FrameMaker and published as a set of 30 related PDF documents (six of which are related to RPL). Much of the development outlined in this proposal is for the creation of a publishing process whereby RPL Predefined Function and Statement and Operator content is transformed to HTML with semantic markup such that RiverWare could pick out relevant sections.
After the writing of that proposal, some experimental work was done to develop a Python-language script to transform HTML generated from FrameMaker into HTML having the required structure (e.g. RPL Predefined Functions encapsulated within their own high level element) and semantic markup (e.g. to identify content for individual function arguments). This very successfully made use of the Python 3.4 standard library's XML DOM processing "minidom" module.
This document is still under review by CADSWES staff:
--------------------------------------------
[I.A] New/Enhanced Software / BOR Truckee
Enhancement: Save Workspace background colors and RiverWare window icon in model file
--------------------------------------------
(1) Save with Model File: Workspace Background Colors.
In RiverWare 6.4 and prior versions, workspace background colors for the Simulation and Accounting views were saved in user settings. (The background color for the Geospatial view was saved with the model). In RiverWare 6.5 the background colors for all three views are saved in the model file.
Background colors for the Simulation and Accounting views, are still also saved in user-based settings, but are overridden when loading a model file containing workspace background color data -- i.e. models saved from newer RiverWare 6.5 builds. Because these properties are also saved in user-based settings, changes to the Simulation and Accounting view background colors made in the Canvas Configuration Dialog will be active the next time RiverWare is started.
(2) Save with Model File: RiverWare Window Icon Selection.
The RiverWare window icon selection (one of four choices) -- set by the user from the Workspace Utilities >> Windows >> Window Icon menu -- is now saved with the RiverWare model file and restored upon loading the model.
The "--alticon" (alternate icon) command line parameter to RiverWare is still honored when starting up RiverWare, but is overridden when loading a model file which had been saved with a new RiverWare version (6.5).
--------------------------------------------
[I.A] New/Enhanced Software / BOR Truckee
Enhancement: Date/Time Spinner: Add "Global Time Scroll" to context menu.
--------------------------------------------
The motivation for this enhancement was the desire to initiate a "Global Time Scroll" from the Open Object Dialog's Date/Time spinner. This requirement was addressed by implementing a custom context menu for all RiverWare Date/Time spinners, and providing within that menu the "Global Time Scroll" operation. The Date/Time spinner context menu now consists of the following operations; (note that "Copy" and "Paste" apply to the selected text within the Date/Time spinner):
This feature required more work than is usually necessary to implement a context menu. We needed to override the Date/Time Spinner's internal QLineEdit widget's native custom menu using low-level Qt event handling.
--------------------------------------------
[I.A] New/Enhanced Software / BOR Truckee
Enhancement: Table Row/Column Label Editor: Support Tabular Copy and Paste.
--------------------------------------------
The Table Slot Row/Column Label Editor Dialog is used for editing either Row or Column labels for a particular Table Slot. The dialog presents a single column of editable cells, one cell per Table Slot row or column. (Note that Table Slots only on Data Objects have user-editable labels).
In RiverWare 6.4 and prior versions, this dialog did not have a context menu. In RiverWare 6.5, a context menu has been added with these three operations:
--------------------------------------------
[I.A] New/Enhanced Software / BOR Truckee
Enhancement: Printing Plots: User Configurable Headers and Footers.
--------------------------------------------
In RiverWare 6.4 and earlier versions, plots unconditionally included non-configurable header and footer text in all four corners of the printed page. In RiverWare 6.5, Plot Pages now have an associated configuration for the printed headers and footers. For each corner of the printed page, the user can choose between several types of content, including no text or user-supplied text.
Each Plot Page saved within a RiverWare model file has its own printed plot header/footer configuration. A configuration can be saved as the "user default" and applied to any Plot Page. This default is saved in user login-based settings.
This feature is described further in this document:
--------------------------------------------
[I.B] New/Enhanced Software / Unfunded Development
Chart Config Dialog: Added Copy/Paste Slot (to and from Slot Clipboard)
--------------------------------------------
A context menu with "Copy Slots" and "Paste Slots" actions was implemented for the Chart Config Dialog's slot list. Note that copying slots to the slot clipboard also results in copying their complete names to the system clipboard as plain text.
This enhancement was done to satisfy a suggestion filed eight years ago as Gnats 3977: "Output Manager slot lists need to be export/importable". (All other output device types whose configuration is fundamentally based on a list of slots already supported these slot clipboard operations).
-----------------------------
[VIII] Professional Activities
-----------------------------
Phil Weinstein spent 24 hours on Qt Training self-study in March 2014. This included training videos and other materials on Qt Best Practices, C++11, Internationalization in Qt, and QML. Phil wrote a summary of his self-study in February and March 2014 (7 printed paged) addressing these topics:
One particular recommendation is that we pursue the port of RiverWare and RiverSMART from Qt 4 to Qt 5 as soon as we have resources to do that. This could be done with our current C++ development environment, Visual Studio 2010. (We are currently using Qt 4.8.5 and would be porting to Qt 5.3 or later). Moving to Qt 5 would have the following benefits:
Maintenance Accomplishments / March 2014 |
--------------------------------------------
[II] RiverWare Software Maintenance / Software Updates / Bug Fixes
--------------------------------------------
--- (end) ---