Short Description: Run Analysis Dlg: Various, Gnats 4488, and Presim Dividers Bug Number: 4488, plus other significant work. Release notes (y/n): Yes For Release Nums: 5.3 (1) Gnats 4488: Model Run Analysis, hit keys Ctrl+D,E ... changed toggle actions to single shot actions. ... also corrected menu "aboutToShow"/accelerator problem. ... SEE NEW UTILITY: QtUtils/RwActionAccelEnabler.cpp (2) Added Presimulation Timestep ornamentation to distinguish with Run steps (3) Apply Obj Enable/Disable Dispatching to full Obj selection. (4) Significant performance optimization for certain operations. ... involved in restoring a saved row and column selection. (5) Minor enhancements: (a) Maintenance: Changed menu construction to Qt4 conventions (b) When swapping axis, update row and column selections to new orientation (c) Show "wait" cursor (hour glass) during certain slow operations -------------------------- QtRun/QtRunAnalysisDlg.hpp QtRun/QtRunAnalysisDlg.cpp -------------------------- Change enable/disable actions from toggle actions to single-shots: OLD Qt slots (signal handers): void objectEnableDispatchingToggled (bool); void objectDisableDispatchingToggled (bool); NEW Qt slots (signal handers): void objectEnableDispatchingActivated(); void objectDisableDispatchingActivated(); Also: Apply Obj Enable/Disable Dispatching to full Obj selection. Maintenance: Changed menu construction to Qt4 conventions When swapping axis, update row and column selections to new orientation -------------------------------- QtRun/RunAnalGridQTableModel.hpp QtRun/RunAnalGridQTableModel.cpp -------------------------------- Added Presimulation Timestep ornamentation to distinguish with Run steps New data member: int _presimDividerIndex; Added optional parameters: QSize adjustedCellSizeHint (int row=(-1), int col=(-1)) const; New methods -- configuration: static int dividerThickness(); static QColor presimOrnColor(); Module symbols: static const QColor PRESIM_ORN_COLOR (Qt::blue); static const int DIVIDER_THICKNESS (4); Implementation of new RwHeaderViewClient virtual method: // virtual from RwHeaderViewClient bool RunAnalGridQTableModel::RwHeaderView_sectionIsDivider ( Qt::Orientation orient, int logicalIndex, int& thicknessRet) const Adjustments to support new Presimulation Timestep divider ornamentation. ------------------------------- QtRun/RunAnalGridQTableView.hpp QtRun/RunAnalGridQTableView.cpp ------------------------------- Added timer-mechanism to optimize invocations of method: rebuildTable() // deferred processing QTimer* _rebuildTableTimer; bool _rebuildTable_timestepsTooRequested; New method: void schedRebuildTable (bool timeAxisToo=true); Now a private Qt slot (signal handler): void rebuildTable (bool timeAxisToo=true); Significant performance optimization for certain operations. ... involved in restoring a saved row and column selection. RunAnalGridQTableView::selectSecs (const cwSlist& secsList, bool clearFirst = true); ... groups of contiguous timestep rows or colums (to be selected) are ... aggregated into a single QItemSelection select operation. Apply Obj Enable/Disable Dispatching to full Obj selection. ... RunAnalGridQTableView::gridContextOp_enaDispatching_activated() ... RunAnalGridQTableView::gridContextOp_disDispatching_activated() ------------------------ QtUtils/RwHeaderView.hpp QtUtils/RwHeaderView.cpp ------------------------ Added Divider Geometry Support -- new methods: virtual bool RwHeaderViewClient::RwHeaderView_sectionIsDivider ( Qt::Orientation, int logicalIndex, int& thicknessRet) const { return (false); } // virtual from QHeaderView virtual QSize RwHeaderView::sectionSizeFromContents (int logicalIndex) const; -------------------------------- QtUtils/RwColumnHeaderView.hpp QtUtils/RwColumnHeaderView.cpp QtUtils/RwColumnHeaderWidget.cpp -------------------------------- Minor, removed method: void RwColumnHeaderView::setMinSectionWidth (bool growOnly=false); ================= Short Description: Add QtUtils/RwActionAccelEnabler (a QObject) to Build Bug Number: no (but done as part of work on Gnats 4488). Release notes (y/n): No For Release Nums: 5.3 // Utility Qt QObject to be used with conditionally enabling QActions // within a QMenu's 'aboutToShow' signal for QActions which have a // keyboard accelerator. See additional notes in RwActionAccelEnabler.cpp. QtUtils/Make.package QtUtils/QtUtils.pro QtUtils/QtUtils.vcproj QtUtils/QtUtilsGenerated.pro QtUtils/QtUtilsGenerated.vcproj QtUtils/RwActionAccelEnabler.hpp QtUtils/RwActionAccelEnabler.cpp ---