#include "libsdiwindow.h"
-#include <QObject>
#include <QString>
+#include <QtPlugin>
class QWidget;
class QLayout;
namespace eVaf {
+
+namespace Gui {
+ class Window;
+} // namespace eVaf::Gui
+
namespace SdiWindow {
/**
- * Main window interface for eVaf applications implementing the Single Document Interface.
+ * Single Document Interface window manager for eVaf applications.
*
- * The iSdiWindow interface provides access to the SDI main window. The SDI main window is
- * an empty window that the application can fill with widgets.
+ * The iSdiWindow interface implements an SDI window manager.
*/
-class SDIWINDOW_EXPORT iSdiWindow : public QObject
+struct SDIWINDOW_EXPORT iSdiWindow
{
- Q_OBJECT
-
-public:
-
- /// Interface constructor
- iSdiWindow() : QObject() {}
-
- /// Empty virtual destructor
- virtual ~iSdiWindow() {}
-
/**
* Returns the iSdiWindow interface instance
* @return The iSdiWindow interface or zero if not available
static iSdiWindow * instance();
/**
- * Adds the widget to the end of the main window layout
- * @param widget The widget
+ * Adds the window to the main SDI window
+ * @param window The window
*
- * This function adds the widget to the end of the main window layout.
+ * This function adds a window to the main SDI layout.
*/
- virtual void addWidget(QWidget * widget) = 0;
-
- /**
- * Adds the layout to the end of the main window layout
- * @param layout The layout
- *
- * This function adds the new layout to the end of the main window layout.
- */
- virtual void addLayout(QLayout * layout) = 0;
+ virtual void addWindow(Gui::Window * window) = 0;
};
} // namespace eVaf::SdiWindow
} // namespace eVaf
+Q_DECLARE_INTERFACE(eVaf::SdiWindow::iSdiWindow, "eVaf.SdiWindow.iSdiWindow/1.1")
+
#endif // isdiwindow.h