RiverWare 6.1: Value Display Attribute Schemes
Decisions, and implications, from the July 6, 2011
design meeting
Edit: 7-06-2011, Phil Weinstein, CADSWES.
Unit Schemes, General
- In the user interface, this feature will be referred to as "Unit Schemes".
- We will not support "column name" (actually, column label)
matching criteria for unit scheme matching rules. We will match SlotColRefs
only on: (1) containing object types (including account types and the two
abstract reservoir types and "Exchange"), (2) slot names, and (3)
unit types. As a result, only the first two of these four proposed scheme
rule types will be supported. (This eliminates some of the expressiveness
of the riverwareDB feature).
- Unit Type scheme rules (only without containing object type)
- Slot name-based scheme rules (with or without containing object type)
Column name-based scheme rules
Slot name and column name-based scheme rules
- We confirmed the decision to serialize Unit Schemes using XML.
Unit Scheme Editor
- We will use a QTreeWidget
-- possibly a single level list OR a multiple level treeview -- to show the
scheme rules. This is instead of the
widget array initially proposed by Phil. If a multiple level treeview
is used, it must be possible to switch to any of the key fields as the treeview
root (first column) -- and it might make sense to support also a single level
list view (to support comprehensive sorting).
- Operations on Value Display Attribute Rules (i.e. rows in the QTreeWidget)
will be implemented by discrete widgets operating on the selected rows. It
will be possible to simultaneously change the Scale, Unit, Format and Precision
values of multiple selected rows. The "Set Units" operation will
be available only if the selection of rows includes exactly one unit type.
- In the QTreeWidget, the currently configured Format and Precision will be
depicted with an example prototype, e.g. of PI (or something), like "3.142"
or "3.1416e+00".
- No interactive widgets (nor pseudo-widgets, e.g. icon labels as push buttons),
nor incell editing, will be needed within the QTreeWidget.
Unit Scheme GUI Controls
- We're not going to put unit-scheme switch controls (nor menu items) with
each of the slot display dialogs -- EXCEPT for the Open Slot Dialog which
will support an override feature to show values using the Local Scheme (without
regard to the "active" scheme). The "active" Unit Scheme
will be managed only from one central place ....
- Unit schemes will be managed from a new "Units" workspace menu
which will look something like this ...
|
Units Unit Converter... --------------------
Local Units
(o) Wygilian Units Initialization Units U.S. Units 1 U.S. Units 2 Standard Units
--------------------
Edit Unit Schemes... |
|
|
(The "Unit Converter..." menu item had been under the
"Utilities" menu).
|
QUESTION: Maybe this, or a different
framing could include also the "Show Commas in Numbers"
checkable menu item (which is now under the Workspace menu). |
- We're not going to worry about the concern that the SCT supports the display
of numeric values, optionally without showing units. (That is, there
was a concern that this may be more of a usage liability since display units
will become much easier to change). There had been a thought that, in that
case, we would need to at least show the name of the current scheme somewhere
in the SCT dialog. We're not deciding to do any such thing now.
Display Attribute Group Definitions
- Unit Scale values will be limited to non-negative integral powers
of 10 (for the mapped schemes). (This will be enforced only in the GUI, as
we want to use a common data structure to support legacy Unit Scale values
within slot configurations).
- Display Formats: It is acceptable to provide only the "Float"
and "Scientific Notation" via the mapped scheme mechanism. The "Integer"
format will remain available (for now) in the "Local Scheme" (configurations
on slots and slot columns).
- Display Formats: will be encoded as just 'char' instead of as a
two-character QString.
Other Features
- Old style DMI: We will issue a single warning from old-style DMIs indicating
the number of slots for which no units were available from the control file.
(In that case, we will be using the "local" units configured on
slots). We will also add an optional diagnostic generating messages for each
such slot.
- Batch mode will unconditionally support only the "Local Scheme".
--- (end) ---