Short Description: SCT Pre- and Post-Sim Timestep Enh; Plus Perform Enh. Bug Number: 4271 Release notes (y/n): Yes For Release Nums: 5.3 Gnats 4271: SCT limits you to looking at 99 timesteps before the run start. For the explicitly set Pre- and Post-Simulation Timestep Count (via Spinners), remove the upper limit of 99, and instead limit the spinners to 9999 OR the number of timesteps within the valid defined range of Date_Times (e.g. currently no earlier than the year 1800). ALSO, significant performance enhancements to address speed problems potentially made more prominant when a large number of Pre- and Post- Simulation Timesteps are configured by the user. This involved adding a QHash map to translate Date_Time seconds_t (64-bit seconds integer) to SCT timestep index values. This performance enhancement may partially address Gnats 4742, but there is still significant slowness especially in the Aggregated Views in calls to Q3Table::hideColumn(), Q3Table::hideRow() and Q3Table::setColumnWidth(). This will be resolved when the SCT data table is rewritten using Qt4 model/view architecture. ---------------- SctConfigDlg.hpp SctConfigDlg.cpp ---------------- New methods: void refreshTstepCntSpinBoxes(); void stepSizeOverrideCombo_activated(); // Qt slot void notifyRunDatesChanged(); // Qt slot Module-level constant: static const int MAX_PRE_POST_TSTEPS (9999); ------------- SctDialog.cpp ------------- In method: SctDialog::sctModelData_RunDatesChanged(), if the SCT Config Dialog is open, call SctConfigDlg::notifyRunDatesChanged() to update the limits for the Pre- and Post-Simulation Timestep Count Spinners. -------------------- SctModelData.hpp SctModelData.cpp SctModelData.Sim.cpp -------------------- Performance enhancement: Define a QHash (map) from Date_Time seconds_t to SCT timestep index. (This has been previously been implemented as a serial search through the _tStepDateTimes vector. Also, change of the _tStepDateTimes from the standard template library to a Qt QHash map. OLD: std::vector _tStepDateTimes; NEW: QVector _tStepDateTimes; <<<< CHANGED QHash _tStepIndexOfSecsMap; <<<< ADDED Change of the return type of this method: OLD: Date_Time dTimeOfTstepInx (int tinx) const; NEW: const Date_Time& dTimeOfTstepInx (int tinx) const; Re-implementation of this method, making use of the new QHash map. int SctModelData::tStepInxOfDTime (const Date_Time&) const These methods now also maintain the new _tStepIndexOfSecsMap QHash map: void SctModelData::recompTstepData (const Date_Time& baseStartDate, .. void SctModelData::clearTstepData(); ------------------- SctConfigWidgets.ui ------------------- Unrelated change: Hide border line around the Timestep Size Override widgets on the Sct Config Dialog's "General" tab. ---