X-Git-Url: https://vaikene.ee/gitweb/highlight.css?a=blobdiff_plain;f=src%2Fplugins%2FSdiWindow%2Fsdiwindow.h;h=757ed28cfeaa51f452954cc7ee0c62992aa3a71d;hb=5dd5f367dfcecab75077c3cb4ca1f01113fc1561;hp=f88425554319b872fc52fdb9e38ccae724f21497;hpb=78ad6c009b334925675998ae2ab02cc1d6d97e18;p=evaf diff --git a/src/plugins/SdiWindow/sdiwindow.h b/src/plugins/SdiWindow/sdiwindow.h index f884255..757ed28 100644 --- a/src/plugins/SdiWindow/sdiwindow.h +++ b/src/plugins/SdiWindow/sdiwindow.h @@ -23,12 +23,14 @@ #include "isdiwindow.h" #include -#include +#include #include #include #include #include +#include +#include #include class QVBoxLayout; @@ -57,7 +59,21 @@ public: virtual bool isReady() { return mReady; } - virtual void addWindow(Gui::Window * window); + virtual void addPanel(QString const & name, Gui::Panel * panel); + + virtual Gui::Panel * panel(QString const & name) const; + + virtual bool showPanel(QString const & name); + + virtual void changeEvent(QEvent * e); + + virtual void closeEvent(QCloseEvent * e); + + +protected: // Methods + + /// Garbage collector timer + virtual void timerEvent(QTimerEvent * e); private: // Methods @@ -77,8 +93,29 @@ private: // Members /// The layout of the main window QVBoxLayout * mLayout; - /// eVaf GUI window implementing the main window - QWeakPointer mWindow; + /// Name of the main panel that becomes part of this window + QString mMainPanelName; + + /// List of GUI::Panel objects added to the manager + QList > mPanels; + + /// List of minimized GUI::Panel objects + QVector > mMinimizedPanels; + + /// Hash with panel names + QHash > mPanelNames; + + /// Current main panel added to this window + QWeakPointer mMainPanel; + + /// Garbage collector timer ID + int mTimerId; + + +private: // Methods + + /// Gets the main panel name from module attributes + QString getMainPanelName(QString const & args) const; };