Open Object Dialog Slot Ordering and Conditional Showing Controls
Draft Images -- Bake 2 -- for RiverWare 6.3 -- 10-25-2012, Revised 10-26-2012.
See also: Bake 1 images (10-24-2012)
See also: Open Object Dialog -- Qt4 Porting Design Changes document (10-19-2012)

This is the second alternative design, with less complicated Show/Hide slot controls and a higher-level (dynamic) filter for hiding "empty un-linked" slots. See discussion below.

 

       Update (10-26): see alternatives below.

 

 

Slot Ordering Controls

This is a slight enhancement, and more explicit presentation, of the prior slot ordering capabilities (e.g. in RiverWare 6.2). Custom orderings are supported on both a per-object basis and a per-object-type basis (e.g. Reach). Both of the custom orderings can be modified in these two ways:

  1. By using the Up and Down arrows, which will now apply to a multiple-slot selection. These are enabled only for the two Custom Order modes.
  2. By setting one of the custom orders to the currently displayed order, which can be a Column Sort, Default order, or the "other" custom mode.

Clicking on a column header within the actual slot list (not shown here) changes the Order combo box to the "Column Sort" item.

To be decided -- either:

  1. When the Open Object Dialog for a particular object is shown again, the initial order will be "Custom for Object" if a custom order has been defined for that object. Otherwise it will be the "Default" (hard-coded) order. OR:
  2. When the Open Object Dialog for a particular object is shown again, the state of the Order combo box will be restored to its prior state.

Slot Filtering (Show/Hide) Controls

This proposed slot filtering design has a less complicated set of controls, but provides a more powerful and nuanced filtering capability.

The use of a basic checkbox both: (1) immediately conveys to the user whether some slots may be hidden, and (2) provides an easy way to temporarily show all slots without losing the configured show/hide states for the slots.

A special, independent "Hide empty un-linked slots" filter has a dynamic effect (rather than a "one-shot" effect) which is responsive to the differences in, and changes to the linking status and value content of slots on each object. When the "Hide empty un-linked slots" is checked, such slots won't be shown in the slot list, and won't have "Show:" items in the "Filter Slots" drop down menu.

Option: The "Hide empty un-linked slots" item could show the number of slots on the object to which that feature currently applies, e.g.

The "Hide Selected Slots" operation can be applied to an arbitrary single-or-multiple selection within the slot list. Slots hidden in this manner show up as "Show:" items in the "Filter Slots" drop down menu.

The slot filtering state information associated with each object consists of:

  1. switch: whether slot filtering is active.
  2. switch: whether the special "Hide empty un-linked slots" dynamic filter is active.
  3. slot list: a list of slots explicitly hidden by the user.

Also, the following state information is associated with each Engineering Object base type (i.e. having a single record for all Reservoir types). This will be applied to all newly created objects, when they are created by the user:

  1. switch: whether the special "Hide empty un-linked slots" dynamic filter is active.
  2. slot list: a list of slots explicitly hidden by the user. (This will need to be symbolic, rather than a list of actual slot instances).

When the user clicks the "Apply filter to All <object type>" operation, the current slot filter settings are applied to all objects of that type AND to the state information associated with the Engineering Object base type. (This will probably be implemented as an operation on the "Prototype" Enginneering Object instances).

With this Slot Filtering design, there is less ambiguity about preferred persistence of these settings (as there is with the Ordering state -- see above). When the Open Object Dialog for a particular object is shown again, the filtering state will be restored to what it had last been set to by the user.

Update: Slot Filter Control Alternatives

Four alternatives are presented in response to Patrick's observation of yesterday that the "Filter Slots" button doesn't look like something that would show a drop-down menu of operations:

  1. Original "Bake 2" proposal.
  2. Drop down icon. Implemented just as the QPushButton's icon.
  3. Drop down icon (to the right of the button text; requires custom drawing).
  4. Neil's suggestion ... a seperate "Options ..." button.
  5. ... Patrick's variation.
         drop-down menu example

---