Fixes to Custom Slots on Aggregate Objects, and Related Enhancements / Gnats 6057 / 12-21-2017
Phil Weinstein, CADSWES, edit 12-21-2017

Gnats 6057 ("No way to add custom slots to elements of an aggregate object") has been fixed for RiverWare 7.2 (after the 12-15-2017 pre-release). This includes a few GUI changes specifically for the "add slot" operation, plus a couple related usability enhancements.

Note: An additional dysfunction was discovered in the course of this development. This bug will be handled separately: Gnats 6062: Can't delete custom slots from elements of an aggregate object, nor move them to a different object.

Primary Fix:

The Object Viewer (with an object tab for an Aggregate Object) and the Open Object Dialog operations for an Aggregate Object now supports the fifteen (15) "Add Slot" operations for not only the top-level Aggregate Object, but also the child Element objects. When these dialogs are showing an Aggregate Object, there is a concept of the "implied object," possibly being one of the Element objects. The enabledness and function of the "All Slot" operations corresponds to the single implied object. (These operations are disabled if there is more than one). The implied objects are either the single ONLY object (i.e. an Aggregate Object with no Elements), or the set of objects for which there are object or slot selections in the displayed item list, that is, on either the Slots or Methods tab. There are no "screenshot" changes, and probably no need to update user documentation, relative to this primary fix.

Technical: Each of the fifteen (15) "Add Slot" operations had been directly calling SimObj::createUserSlotWithDefaultName() on the _simObj field. These now all call the first following new local method which can determine if it's appropriate to instead create the new slot on the selected Element Object. Also listed below are other added methods to support this functionality.

"Add Slot" Submenu and "Paste Slots" added to the Element Context Menu:

The following changes have been made to the Element Context Menu (see also screenshots below):

  1. "Append" changed to "Append Element"
  2. Added: "Add Slots" submenu with fifteen (15) items.
  3. Added: "Paste Slots" (enabled only if there are slot references in the slot clipboard).

Screenshots of this menu in RiverWare 7.1.6 and the new 7.2 revisions:

Additional Usability Enhancements:

  1. When adding a new slot, the Slot list is scrolled to the added slot, and that slot becomes the only selected item.
  2. When adding a new Element object, the Slot and Method lists are scrolled to that new Element object, and that object becomes the only selected item.

--- (end) ---