// $Id: DlgGeometryMgr.hpp,v 1.4 2008/12/08 20:04:15 philw Exp $ // // class DlgGeometryMgr : public QObject // class DlgGeomMgrTestWindow : public QMainWindow (support) // // See descriptions in cpp file. //--- #ifndef DlgGeometryMgrINCLUDED #define DlgGeometryMgrINCLUDED #include #include #include #include #include class QShowEvent; class QHideEvent; class QCloseEvent; //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- class DlgGeometryMgr : public QObject { Q_OBJECT private: static DlgGeometryMgr* _instance; // Map from (Dialog Class Name, Reference Object) to (Window Geometry). QMap , QRect> _dlgGeometryMap; bool _windowDecorationDeltasComputed; int _windowDecorationDeltaX; int _windowDecorationDeltaY; private: static DlgGeometryMgr* instance(); DlgGeometryMgr(); ~DlgGeometryMgr(); void computeWindowDecorationDeltas(); public: static void initialize(); static void processShow (const char* dlgClassName, void* refObj, QWidget* dlgWidget, QShowEvent*); static void processHide (const char* dlgClassName, void* refObj, QWidget* dlgWidget, QHideEvent*); public slots: void setDecorationDeltas (int deltaX, int deltaY); }; //----------------------------------------------------------------------------- //----------------------------------------------------------------------------- class DlgGeomMgrTestWindow : public QMainWindow { Q_OBJECT private: int _showCnt; int _hideCnt; enum { _initialX = 200, _initialY = 200 }; public: DlgGeomMgrTestWindow(); virtual ~DlgGeomMgrTestWindow() {} // virtual from QWidget void showEvent (QShowEvent*); void hideEvent (QHideEvent*); signals: void decorationDeltasComputed (int deltaX, int deltaY); }; #endif // DlgGeometryMgrINCLUDED //--- (end DlgGeometryMgr.hpp) ---