X-Git-Url: https://vaikene.ee/gitweb/pswgen09.html?a=blobdiff_plain;f=src%2Fplugins%2FSdiWindow%2Fsdiwindow.h;h=757ed28cfeaa51f452954cc7ee0c62992aa3a71d;hb=38c2779e95311f1d9dac4a9d9469b0489b395333;hp=a73f2eec3d85a9b52dc09ed063c87664e3f5fedf;hpb=ad70660919cd7b0e821e35548b6d1f5efa181c4c;p=evaf
diff --git a/src/plugins/SdiWindow/sdiwindow.h b/src/plugins/SdiWindow/sdiwindow.h
index a73f2ee..757ed28 100644
--- a/src/plugins/SdiWindow/sdiwindow.h
+++ b/src/plugins/SdiWindow/sdiwindow.h
@@ -23,11 +23,14 @@
#include "isdiwindow.h"
#include
+#include
#include
#include
#include
#include
+#include
+#include
#include
class QVBoxLayout;
@@ -56,9 +59,21 @@ public:
virtual bool isReady() { return mReady; }
- virtual void addWidget(QWidget * widget);
+ virtual void addPanel(QString const & name, Gui::Panel * panel);
- virtual void addLayout(QLayout * layout);
+ 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
@@ -75,11 +90,32 @@ private: // Members
/// Ready flag
bool mReady;
- /// The layout of the window
+ /// The layout of the main window
QVBoxLayout * mLayout;
- /// Widgets and layouts added to the main window
- QList > mItemsAdded;
+ /// 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;
};
@@ -89,6 +125,7 @@ private: // Members
class SdiWindowPlugin : public Plugins::iPlugin
{
Q_OBJECT
+ Q_INTERFACES(eVaf::Plugins::iPlugin)
public: