X-Git-Url: https://vaikene.ee/gitweb/pswgen09.html?a=blobdiff_plain;f=src%2Fplugins%2FSdiWindow%2Fsdiwindow.h;h=4c46eea83617e083813905eae322f5e80cbcbe63;hb=2c47d556b83e0c1a3e80ec2310b6b9ac1c688974;hp=f88425554319b872fc52fdb9e38ccae724f21497;hpb=54f282ee6797c05e60993632218875092362bdf7;p=evaf
diff --git a/src/plugins/SdiWindow/sdiwindow.h b/src/plugins/SdiWindow/sdiwindow.h
index f884255..4c46eea 100644
--- a/src/plugins/SdiWindow/sdiwindow.h
+++ b/src/plugins/SdiWindow/sdiwindow.h
@@ -23,13 +23,14 @@
#include "isdiwindow.h"
#include
-#include
+#include
#include
#include
#include
#include
-#include
+#include
+#include
class QVBoxLayout;
@@ -57,7 +58,18 @@ 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
private: // Methods
@@ -77,8 +89,33 @@ 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
+ Gui::Panel * mMainPanel;
+
+
+private: // Methods
+
+ /// Gets the main panel name from module attributes
+ QString getMainPanelName(QString const & args) const;
+
+
+private slots:
+
+ /// Panel destroyed signal. We need to remove the panel from all the
+ /// lists.
+ void panelDestroyed(QObject * obj = 0);
};