"Initialize Account List Slots on Objects" dialog development. (1) MOMS dialog integration (basic life-cycle issues). (2) Correct SimObj Callback responses completed. (3) Other "finishing" tasks, minor behaviors. (See more below). SEE: http://cadswes2.colorado.edu/~philw/2010/Accounting/InitAcctListSlots/ ... 2010jan29/ ... (6 screenshots). ------------------------------ Q3GUI/MultiObjMethSelector.hpp Q3GUI/MultiObjMethSelector.cpp ------------------------------ Integration with the new "Initialize Account List Slots on Objects" dialog. (1) Implements the InitAccountListSlotsListener (listener) abstract interface. (2) Maintains a single InitAccountListSlotsDlg instance (as needed). (3) Initially positions the InitAccountListSlotsDlg next to this (MOMS) dialog. New data members: InitAccountListSlotsDlg* _initAccountListSlotsDlg; New methods: // Dialog: Initialize Account List Slots on Objects void showInitAccountListSlotsDlg(); void closeInitAccountListSlotsDlg(); virtual void initAccountListSlotsDlg_deleted (const void* delDlg); --------------------------------------------- QtAccounting/InitAccountListSlotsDlg.hpp QtAccounting/InitAccountListSlotsDlg.cpp QtAccounting/InitAccountListSlotsListener.hpp QtAccounting/InitAccountListSlotsWidgets.ui --------------------------------------------- (1) Maintains a reference to a single client (listener) for deletion notification. (2) Implemented dialog box geometry (position and size) persistance using DlgGeometryMgr, with hooks from QWidget::showEvent() and hideEvent(). (3) QTimer-based deferred updates for SimObj callbacks: - WS_OBJECT_REMOVED - OBJECT_DELETED - SIMOBJ_METHOD_REFRESH - SIMOBJ_ACCOUNT_ADDED - SIMOBJ_ACCOUNT_CHANGED - SIMOBJ_ACCOUNT_DELETED (4) Disable "Default Button" behavior. (We don't want any of the buttons triggered by just hitting Enter). (5) Added key entry "validator" on the Account Name QLineEdit. (Legal characters are letters, numbers, underscore and internal blanks). (6) Special status reported when the given SimObj list is empty. "No simulation objects are selected." (7) Enumerate the relevant simulation objects in the Status message. New Data Members: InitAccountListSlotsListener* _listener; QTimer* _delayUpdateWidgetsTimer; New Methods: void setListener (InitAccountListSlotsListener* listener); void schedUpdateWidgets(); void delayedUpdateWidgets(); // Qt slot (signal handler) // Virtual from QWidget virtual void showEvent (QShowEvent*); virtual void hideEvent (QHideEvent*); ---