RiverWare Output Canvas: Teacup Storage and Flow Animation: Development Plan Status
Phil Weinstein, CADSWES, 11-12-2014 -- See
Project Index
This document presents an analysis of the task completion to date, as the tasks were layed out in this "Development Plan" document.
That document presents a development plan for the RiverWare "Output Canvas" output device described in this design document:
Hours (est) |
Status | Hours (est) |
Task | Description |
56.0 | (I.A) Basic Data Model and Configuration GUI Support | |||
DONE | 16.0 | #1 | Define rwSettings Identifiers for each of the "Phase I" Output Canvas Config classes. | |
#2 | Data Model: class definitions for (a) Output Canvas Output Device (b) Output Canvas Config, containing ... (c) Teacup Group, (e) Teacup, (e) Bounding Box, and (f) Teacup Marker, (g) Teacup Legend. This includes rwSetting list definitions for most of these classes. | |||
8.0 | #3 | Management of Output Canvas output devices, including device data persistence. | ||
20.0 | #4 | Mostly stubbed Output Canvas Configuration Dialog. | ||
#5 | Object Tree (QTreeView), including Qt Abstract Item Model implementation based on an Output Canvas Config instance. | |||
#6 | "Add Item" Action Menu with the five operations: Add: Teacup Group, Teacup Legend, Bounding Box, Marker, Teacup. | |||
8.0 | #7 | Deployment and integration of an rwSettingsTree in the Settings property editor panel. | ||
4.0 | #8 | Application of rwSettingsTree changes to the Output Canvas Config instance data. | ||
28.0 | (I.B) Basic Canvas / Graphics View Implementation | |||
DONE | 8.0 | #1 | Basic Qt Graphics View subclasses (of RwGraphicsScene and RwGraphicsView) to implement the canvas, deployed within the Output Canvas Config Dialog as the "preview" panel. | |
8.0 | #2 | Stubbed development of the Teacup and Teacup Legend Graphics Items, with just dummy (icon) display. | ||
8.0 | #3 | Basic canvas operations: Teacup item selection, moving (by dragging). | ||
4.0 | #4 | Reference Timestep GUI support: Deploy Date/time spinner / animation controls. | ||
20.0 | (I.C) Teacup Graphics Items | |||
DONE | 4.0 | #1 | Data source slot reference support, resolution of data source slots for the various graphic entities. | |
PART DONE |
4.0 | #2 | Geometry computations and vertical scale composition. | |
STATUS: Only the TOP and BOTTOM (0) numeric tick marks are implemented. The intention is that additional heuristically-placed numbered tick marks will be implemented, as space allows. | ||||
DONE | 12.0 | #3 | Graphics rendering for each of the graphical features listed above. | |
12.0 | (I.E) Output Canvas Viewer Dialog | |||
TO DO | 8.0 | #1 | Deployment of simplified version of canvas in viewer dialog. | |
DONE | 4.0 | #2 | Function: Export as Image File ... | |
8.0 | Post-Development Review Changes | |||
![]() |
||||
124.0 | TOTAL (Hours) -- Phase I: Basic Teacups, without integrated text items -- PROTOTYPE |
Hours (est) |
Status | Hours (est) |
Task | Description |
4.0 | (I.B) Basic Canvas / Graphics View Implementation | |||
DONE | 4.0 | #5 | Heuristic initial Teacup placement algorithm, based on relative SimObj positions within the simulation view. | |
4.0 | (I.C) Teacup Graphics Items | |||
PART DONE |
4.0 | #4 | Teacup context menu, operations. | |
STATUS: Only "Open Object" and "Plot Slots" are implemented. There are a few others to implement. See section (6) in the "Design 3" document. | ||||
8.0 | (I.D) Teacup Legend Graphics Items | |||
TO DO | 4.0 | #1 | Geometry computations: vertical positions determined by label text rows. | |
4.0 | #2 | Graphics rendering modifications for legend-specific geometries | ||
8.0 | (I.E) Output Canvas Viewer Dialog | |||
SEE (I.C.4) Above. |
8.0 | #3 | Slot Data Display Functions: plot, show in SCT, open object, open slots. | |
16.0 | (I.F) Special Data and GUI Maintenance Issues | |||
DEFER | 6.0 | #1 | Handling of item positions when reducing canvas dimensions. | |
DEFER | 2.0 | #2 | Responding to SimObj name changes. | |
DEFER | 8.0 | #3 | Other (overlooked issues). | |
8.0 | Post-Development Review Changes | |||
![]() |
||||
48.0 | TOTAL (Hours) -- Phase I: Basic Teacups, without integrated text items -- PRODUCTION FEATURE |
Hours (est) |
Status | Hours (est) |
Task | Description |
16.0 | (III.A) Basic Data Model and Configuration GUI Support | |||
DEFER |
8.0 | #1 | Define rwSettings Identifiers for Text Groups and Items | |
#2 | Data Model: class definitions for (a) Text Group and Text Item, including rwSetting list definitions, persistence. | |||
8.0 | #3 | Object Tree (QTreeView) and Settings support for Text Groups and Text Items. | ||
#4 | "Add Item" Action Menu: implement the six operations enumerated above. | |||
STATUS: This is done for Text Items in Teacups. Freestanding Text Items is still to do. | ||||
16.0 | (III.B) Canvas Text Items (in Text Groups) | |||
DEFER | 4.0 | #1 | Text composition (of the non-Plain text item types) | |
4.0 | #2 | Geometry computations | ||
4.0 | #3 | Text Graphics Items / Text drawing | ||
4.0 | #4 | Text Item context menu, operations: delete, configure. | ||
12.0 | (III.C) Canvas Text Items in Teacups | |||
DONE | 4.0 | #1 | Text composition enhancements (using the Teacup's context) | |
4.0 | #2 | Geometry computations (including revisions to Teacup geometry) | ||
4.0 | #3 | Text drawing (as part of the Teacup graphics) | ||
8.0 | (III.D) Special Data and GUI Maintenance Issues | |||
DEFER | 2.0 | #1 | Handling of text item positions when reducing canvas dimensions. | |
DEFER | 2.0 | #2 | Responding to SimObj name changes. | |
DEFER | 4.0 | #3 | Other (overlooked issues). | |
8.0 | Post-Development Review Changes | |||
![]() |
||||
60.0 | TOTAL (Hours) -- Phase III: Text Items in Teacups and on canvas |
Hours (est) |
Status | Hours (est) |
Task | Description |
22.0 | (IV.A) Basic Data Model and Configuration GUI Support | |||
TO DO | 8.0 | #1 | Define rwSettings Identifiers for Image Groups and Items | |
#2 | Data Model: class definitions for (a) Image Group and Image Item, including rwSetting list definitions. | |||
8.0 | #3 | Object Tree (QTreeView) and Settings support for Image Groups (one instance) and Images. | ||
#4 | "Add Image" action implementation, including identification and loading of an image file. | |||
6.0 | #5 | Image data serialization and persistence in the Image Item. | ||
12.0 | (IV.B) Image Graphics Item | |||
TO DO | 4.0 | #1 | Creation, maintenance, and rendering | |
4.0 | #2 | Image context menu, operations: delete, configure. | ||
4.0 | #3 | Other (overlooked issues). | ||
4.0 | Post-Development Review Changes | |||
![]() |
||||
38.0 | TOTAL (Hours) -- Phase IV: Canvas Images |
Hours (est) |
Status | Hours (est) |
Task | Description |
24.0 | (V.A) Dialog and operation development | |||
DEFER | 4.0 | #1 | Basic dialog creation and layout. | |
4.0 | #2 | Object list composition (Add / Remove Objects) | ||
4.0 | #3 | Associated Data Object identification (automatic initialization) | ||
4.0 | #4 | Object and Data Object name editing | ||
4.0 | #5 | Slot location algorithm; "Slots Found" indication | ||
4.0 | #6 | Create Multiple-Teacups Operation | ||
STATUS: The currently implemented functionality is sufficiently convenient for creating a set of teacups. All essential Teacup attributes are defined at the common "Teacup Group" level, and multiple SimObjs may be selected (with GUS) when adding teacups. | ||||
6.0 | Post-Development Review Changes | |||
![]() |
||||
30.0 | TOTAL (Hours) -- Phase V: Create Multiple-Teacups Operation |
Hours (est) |
Status | Hours (est) |
Task | Description |
30.0 | (VI.A) Basic Data Model and Configuration GUI Support | |||
TO DO | 12.0 | #1 | Define rwSettings Identifiers for Flow Line Groups, Interval Specifications, Flow Lines and Threshold items. | |
#2 | Data Model: class definitions for those four item types, persistence. | |||
8.0 | #3 | Object Tree (QTreeView) and Settings support. | ||
#4 | "Add Item" Action Menu: implement the four operations enumerated above. | |||
6.0 | #5 | Coordination of Threshold item lifecycle (on Flow Line instances) with the number of Interval Specifications (in Flow Line Groups). | ||
4.0 | #6 | Flow Interval Threshold editing logic. | ||
48.0 | (VI.B) Flow Line Graphics Items | |||
TO DO | 12.0 | #1 | Flow Line Anchor Point (invisible graphics item) development. | |
6.0 | #2 | Flow Line graphics item, basic implementation. | ||
6.0 | #3 | Custom rendering, for line thickness, color and style (pattern). | ||
12.0 | #4 | "Attach" action, initiated by dragging and dropping a "free" Flow Line Anchor Point onto something to which the end can be attached (see above). | ||
12.0 | #5 | "Detach" action, initiated by a context menu operation on Teacups and Flow Line Anchor Points (having more than one Flow Line). | ||
12.0 | (VI.C) Special Data and GUI Maintenance Issues | |||
DEFER | 2.0 | #1 | Handling of Flow Line Anchor Point positions when reducing canvas dimensions. | |
2.0 | #2 | Responding to SimObj name changes. | ||
8.0 | #3 | Other (overlooked issues). | ||
12.0 | Post-Development Review Changes | |||
![]() |
||||
102.0 | TOTAL (Hours) -- Phase VI: Flow Lines |
Hours (est) |
Status | Hours (est) |
Task | Description |
10.0 | TO DO |
#1 -- Inclusion of Output Canvases in Model Reports | ||
48.0 | DEFER | #2 -- Animated File Generation | ||
24.0 | #1 | Research and acquiring, building and experimenting with 3rd party libraries. | ||
16.0 | #2 | Integration with RiverWare Build and Build System / Development System Setup | ||
8.0 | #3 | Application Feature Development | ||
8.0 | TO DO | #3 -- Customized rwSetting ValueType support for: (1) timestep date/times. | ||
... ALSO TO DO: (2) Color Chooser, (3) Local Slot Name Chooser | ||||
![]() |
||||
66.0 | TOTAL (Hours) -- Advanced Features (can individually be done as part of prior phases). |
--- (end) ---