RiverWare
5.1 Workspace Qt3 QCanvas to Qt4 QGraphicsView Port --
Hit Refresh
Development Tasks
/ Estimate -- 1-4-2009
Development
Tasks and Estimates (below)
Prototyping Work
For this work, being our first with Qt Graphics View classes, we did some initial experimental prototyping. A "Test" QGraphicsView-based Workspace Canvas was added to RiverWare. This implements SimObj QGraphicsItems (each with a type icon and name label) and supports these features: See also [See screenshots and info].
The QGraphicsView and QGraphicsScene work can be used for production development -- in particular, item (1), above, and the integration of these classes with the RiverWare Workspace Dialog.
Design Work
See the proposed class designs (class diagrams) for the RiverWare QGraphicsView classes.
The initial Qt-based RiverWare Workspace GUI was implemented using the Qt3 "Canvas" managed-graphics classes. Graphical objects are represented by C++ classes managed within Qt with implementations defined in RiverWare subclasses. In Qt4 (starting with Qt version 4.2), the Qt3 "Canvas" classes were replaced with "Graphics View" classes having a very similar architecture.
|
The process of porting to Qt4 Graphics View classes is fairly straight forward. See [Qt] Porting to Graphics View.
Development Tasks and Estimates
It would be very reasonable to implement (and optionally, deliver) the Simulation View port before the Accounting View and Locator View ports. (The QGraphicsView Test prototype does, in fact, implement "canvases" of both architectures within a single RiverWare Workspace dialog).
|
|||
Est. (Days) |
Module | Task | |
0.0 | RwGraphicsScene | Canvas Property Configuration (Background Colors, Text Color, Font) [Done]. | |
1.5 | RwGraphicsView | Spacial Navigation / Zooming. | |
1.5 | SimObjGfxItem | SimObj Item (Composite: QGraphicsPixmapItem and QGraphicsTextItem); "move" handling; tooltip. Adaptation of prototype class, including callbacks from SimObj. | |
2.0 | WorkspaceScene | Selection Mechanism and integration of Workspace operations on selected objects. | |
2.0 | LinkGfxItem | Link Item; dynamic geometry maintenance; display (-group) attributes; tooltips. | |
0.5 | WorkspaceScene | Context Menu -- Workspace (completion). | |
1.0 | SimObjGfxItem | Context Menu -- SimObj Item; linking operations. | |
1.0 | LinkGfxItem | Context Menu -- physical Link deletion and Display Group membership. | |
2.0 | (all) | Integration / Testing / Documentation | |
Total Days: 11.5 (Simulation Workspace and Support Development) |
|
||||
Est. (Days) |
Module | Task | ||
2.0 | LocatorView | a QGraphicsView subclass, a view on a WorkspaceScene instance. |
|
|||
Est. (Days) |
Task | ||
11.5 | Simulation Workspace and Support Development | ||
10.5 | Accounting Workspace | ||
2.0 | LocatorView | ||
Total Days: 24.0 |
--- (end) ---