Gnats 4797: Integer Index slots and SCTs have display issues due to synching. (10-15-2009, Phil Weinstein, CADSWES). There are a couple related problems, and not just related to display. (1) Synchronizing all of the series slots in the model (when the user does not choose to "Exclude Slots with Different Timesteps from Run") changes Integer Indexed slots from their intended Hourly timestep size, starting at the "zero" date/time. This was noted in the bug report, but potentially has implications beyond just display issues. (2) The display issues noted in the bug report could occur even when the timestep and start time for Integer Indexed series slots are correct (Hourly, starting at the "zero" date/time). The display error could occur for Integer Indexed series slots having these two properties: (a) having more than 745 items (rows), i.e. more than the number of hours in January 1800, and (b) having a display units with an irregular "per time" factor, e.g. "per month" or "per year". This second problem occurs because display conversions involving irregular "per time" factors -- including with Integer Indexed slots -- had used the "date/time" of the item to know the actual length of the relevant month or year. Now, when handling integer indexed slots, we the unit conversions which DON'T USE a reference date/time. Those assume 30-day months and 365-day years (i.e. non-leap year). Prerel 5.1.7 Changes include: (1) Preventing synchronization of Indexed Integer Slots (2) Addition of a new Slot Type RootFilter value for choosing Integer Indexed Slots. Other changes checked into only 5.2 Builds are: (3) After model loading, FIX timestep spec for Integer Indexed Slots (4) In the Open SeriesSlot Dialog AND in the SCT -- both when showing cell values AND selection summary statistics -- in the case of Integer Indexed slots, don't use the row index's "date/time" as a reference date/time for unit conversion. (5) Also, in the selection summary statistics panels (in both the Open Slot Dialog and the SCT): (a) don't show any timestep date/time information nor time-integrated computations and (b) in the case of "per-month" display units, indicate that 30-day months are assumed. (6) In the SCT, don't show any time-region dividers. -------------- Sim/SimObj.cpp -------------- Change in method: bool SimObj::syncToInterval(const Date_Time *startTime, ... ... Skip synchronization for slots which are Integer Indexed slots, (within the two distinct iterations over the SimObj's slots). ----------------------- Sim/RootFilter.Slot.hpp Sim/RootFilter.Slot.cpp ----------------------- Added "Integer Indexed Slots" filter-value to the Series Type RootFilter. This (and the other defined filter values) are availble to the GUS slot selector, and to programatically defined RootSelections. Added field to RootFilter_SlotType::SlotTypeRec (representing a filter value): bool _onlyIntIndexed; // Only Integer Indexed Series Slots Added members to RootFilter_SlotType: bool _onlyIntIndexed; // Only Integer Indexed Series Slots static const char* allIntegerIndexedStr(); Modified private method: void RootFilter_SlotType::initSlotTypeRecs() Append a new SlotTypeRec instance to cwSlist _slotTypeRecPtrs; for the "Integer Indexed Slots" filter-value. This automatically makes that Slot Type filter value to GUS, and programmatically to RootSelections. Modified method: RootFilter_SlotType::yes (const Root* obj) const Implements "Integer Indexed Slots" filtering. ---