X-Git-Url: https://vaikene.ee/gitweb/gitweb.cgi?a=blobdiff_plain;f=src%2Fplugins%2FSdiWindow%2Fsdiwindow.h;h=a73f2eec3d85a9b52dc09ed063c87664e3f5fedf;hb=ad70660919cd7b0e821e35548b6d1f5efa181c4c;hp=0032bc6dafd5986daabb74cc8b11d4f3e4800056;hpb=8e0779e2e5a9f947f79c28e2ff121f6ffdd78b3f;p=evaf diff --git a/src/plugins/SdiWindow/sdiwindow.h b/src/plugins/SdiWindow/sdiwindow.h index 0032bc6..a73f2ee 100644 --- a/src/plugins/SdiWindow/sdiwindow.h +++ b/src/plugins/SdiWindow/sdiwindow.h @@ -37,11 +37,12 @@ namespace SdiWindow { namespace Internal { /** - * Main window widget + * Main window widget implementing the iSdiWindow interface */ -class MainWindow : public QWidget +class MainWindow : public QWidget, public iSdiWindow { Q_OBJECT + Q_INTERFACES(eVaf::SdiWindow::iSdiWindow) public: @@ -49,13 +50,15 @@ public: virtual ~MainWindow(); - bool init(); + virtual bool init(QString const & args); - void done(); + virtual void done(); + + virtual bool isReady() { return mReady; } - void addWidget(QWidget * widget); + virtual void addWidget(QWidget * widget); - void addLayout(QLayout * layout); + virtual void addLayout(QLayout * layout); private: // Methods @@ -69,6 +72,9 @@ private: // Methods private: // Members + /// Ready flag + bool mReady; + /// The layout of the window QVBoxLayout * mLayout; @@ -77,39 +83,6 @@ private: // Members }; -/** - * iSdiWindow interface implementation - */ -class SdiWindowImpl : public iSdiWindow -{ - Q_OBJECT - -public: - - SdiWindowImpl(); - - virtual ~SdiWindowImpl(); - - bool init(const QString & args); - - void done(); - - bool isReady() const { return mReady; } - - virtual void addWidget(QWidget * widget) { wWindow->addWidget(widget); } - - virtual void addLayout(QLayout * layout) { wWindow->addLayout(layout); } - - -private: // Members - - /// Ready flag - bool mReady; - - /// The main window widget - MainWindow * wWindow; -}; - /** * SdiWindow module's implementation */ @@ -133,7 +106,7 @@ public: private: /// iSdiWindow interface implementation - SdiWindowImpl * mWindow; + MainWindow * mWindow; }; } // namespace eVaf::SdiWindow::Internal