Gnats 4290: Cannot see first column in agg series slot in DMI slot selector

August 24, 2007:

With some adjustments to the Sim/PseudoSlotRef internal encoding (preserving the seperate Parent AggSeriesSlot / Slot Column values instead of resolving those to a SeriesSlot pointer), and some other related adjustments in Sim/RootSelection, the FIRST SLOT COLUMN (index 0) now shows up in the GUS Slot Selector. Compare with the GUS image below.


August 23, 2007:

   
After making the single low-level changes for GUS in RootSelection (actually, in Sim/SelectionPart.Slot.cpp) to allow the first AggSeriesSlot column to be included in the list of subordinate series slots (slot columns -- SEE BELOW), it becomes apparent that this is not going to be an easy fix (nor is the related enhancement, 4297).

The problem is in the hybridized application of the "composite" inheritance pattern used in the AggSeriesSlot definition. The "Root Pointer" (Root*) for the AggSeriesSlot's first SeriesSlot column cannot be distinguished from the pointer for the overall AggSeriesSlot -- it is exactly the same value. [The architectural fix I would recommend would involve having an abstract base class for SeriesSlot].

The apparent result of the low-level change mentioned above (allowing column zero to be included) is the repetition of the top-level AggSeriesSlot -- i.e. instead of the desired result of having the first (index 0) column appear in the selector ....