Qt4 Port of the MRM Control and MRM Configuration (Editor) Dialogs RiverWare 6.1 -- Phil Weinstein -- 01-10-2011 ------------------- MRM GUI Files (wc): ------------------- ---- ---- ------ ------------------------- 739 1152 18851 MultiRunControlWidgets.ui 1081 2051 24705 QtMultiRunControlDlg.cpp 190 476 5325 QtMultiRunControlDlg.hpp ---- ---- ------ ------------------------- 1615 2335 49167 MultiRunEditWidgets.ui 2119 4251 55355 QtMultiRunEditDlg.cpp 386 964 10306 QtMultiRunEditDlg.hpp ---- ---- ------ ------------------------- ---------------------- ListViews in UI Files: ---------------------- (1) ui_MultiRunControlWidgets.h: Q3ListView *_configListView; (in _configGroupBox) ... list item class: class ConfigViewItem : public Q3ListViewItem ... Display Only (no in-cell editing) ... Single Selection for dialog menu operations ... Double Click: open in MRM Config Dlg (Editor( ... Context Menu ... Recomendation: QTreeWidget instance with single QTreeWidgetItem subclass. ui_MultiRunEditWidgets.h ... (2) GenListView* _policyListView; "Rules" on "Policy" Tab ... Editing in one column: - incell editing plus button to launch Ruleset file chooser for item. ... Context Menu ... Recommendation: QTreeView, model and delegate subclasses (3) GenListView* _dmiListView; "Input DMIs" on "Input" Tab ... Editing in two columns: - (1) "Repeat" integer spinner - (2) "DMI" (a) incell edit, (b) elipsis, brings up DMI ... Context Menu ... Recommendation: QTreeView, model and delegate subclasses (4) GenListView* _runListView; on "Concurrent Runs" / "Consecutive Runs" Tab ... I couldn't figure out when the [X] Show Index Sequential toggle is enabled, so the operation may be more complicated that I was able to determin, but with what I _could_ see, this is definitely sufficiently complex to warrant a full model/view implementation. ... Editing in (at least) one column: - [Consecutive Runs]: Timesteps: Integer spin box ... some dynamic configuration ... currently has some crashes. -------------------- ListViews Subclasses -------------------- QtMultiRunEditDlg.hpp: class QtMultiRunEditDlg::IterListView public Q3ListView ... two instances: (5) QtMultiRunEditDlg.hpp: IterListView* _iterPreListView; (6) QtMultiRunEditDlg.hpp: IterListView* _iterPostListView; ... Display Only (no in-cell editing) ... Single Selection for "Remove" Operation ... Double Click: Show Rule Editor ... Recomendation: QTreeWidget instance with single QTreeWidgetItem subclass. ------------------------------------------------- Other Qt3 Widgets in MRM Dialogs, all in UI files ------------------------------------------------- QtRun/qt/ui_MultiRunControlWidgets.h: Q3GroupBox* _configGroupBox; QtRun/qt/ui_MultiRunControlWidgets.h: Q3GroupBox* _stateGroupBox; QtRun/qt/ui_MultiRunEditWidgets.h: Q3GroupBox* _configGroupBox; QtRun/qt/ui_MultiRunEditWidgets.h: Q3TextEdit* _descriptionTextEdit; QtRun/qt/ui_MultiRunEditWidgets.h: Q3GroupBox* _rdfGroupBox; QtRun/qt/ui_MultiRunEditWidgets.h: Q3GroupBox* _excelGroupBox; QtRun/qt/ui_MultiRunEditWidgets.h: Q3GroupBox* _policyGroupBox; QtRun/qt/ui_MultiRunEditWidgets.h: Q3GroupBox* _dmiGroupBox; QtRun/qt/ui_MultiRunEditWidgets.h: Q3GroupBox* _isGroupBox; QtRun/qt/ui_MultiRunEditWidgets.h: Q3ButtonGroup* _stepButtonGroup; QtRun/qt/ui_MultiRunEditWidgets.h: Q3Frame* _iterFrame; ---