X-Git-Url: https://vaikene.ee/gitweb/pswgen09.html?a=blobdiff_plain;f=src%2Fplugins%2FSdiWindow%2Fsdiwindow.h;h=f0cfe6fc52aae2e5f96c7d6487acb2483388d5db;hb=0957525838e501a4609a15b8d7a765da43362025;hp=0032bc6dafd5986daabb74cc8b11d4f3e4800056;hpb=8e0779e2e5a9f947f79c28e2ff121f6ffdd78b3f;p=evaf
diff --git a/src/plugins/SdiWindow/sdiwindow.h b/src/plugins/SdiWindow/sdiwindow.h
index 0032bc6..f0cfe6f 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,45 +83,13 @@ 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
*/
class SdiWindowPlugin : public Plugins::iPlugin
{
Q_OBJECT
+ Q_INTERFACES(eVaf::Plugins::iPlugin)
public:
@@ -133,7 +107,7 @@ public:
private:
/// iSdiWindow interface implementation
- SdiWindowImpl * mWindow;
+ MainWindow * mWindow;
};
} // namespace eVaf::SdiWindow::Internal