X-Git-Url: https://vaikene.ee/gitweb/pswgen09.html?a=blobdiff_plain;f=src%2Fplugins%2FSdiWindow%2Fisdiwindow.h;h=825961ebaf533118367f4ac8ee66016c23d8c087;hb=refs%2Fheads%2Fmaster;hp=13b99037471a499f02ab2d85f02a3ab08952c94e;hpb=54f282ee6797c05e60993632218875092362bdf7;p=evaf
diff --git a/src/plugins/SdiWindow/isdiwindow.h b/src/plugins/SdiWindow/isdiwindow.h
index 13b9903..825961e 100644
--- a/src/plugins/SdiWindow/isdiwindow.h
+++ b/src/plugins/SdiWindow/isdiwindow.h
@@ -3,7 +3,7 @@
* @brief eVaf SDI window interface
* @author Enar Vaikene
*
- * Copyright (c) 2011 Enar Vaikene
+ * Copyright (c) 2011-2019 Enar Vaikene
*
* This file is part of the eVaf C++ cross-platform application development framework.
*
@@ -31,7 +31,7 @@ class QLayout;
namespace eVaf {
namespace Gui {
- class Window;
+ class Panel;
} // namespace eVaf::Gui
namespace SdiWindow {
@@ -54,12 +54,38 @@ struct SDIWINDOW_EXPORT iSdiWindow
static iSdiWindow * instance();
/**
- * Adds the window to the main SDI window
- * @param window The window
+ * Empty virtual destructor
+ */
+ virtual ~iSdiWindow() {}
+
+ /**
+ * Adds a panel to the SDI window manager
+ * @param name Name of the panel
+ * @param panel The panel
+ *
+ * This function adds a panel to the SDI window manager. The ownership of the panel
+ * is transferred to the window manager and it is the responsibility of the window
+ * manager to delete it.
+ */
+ virtual void addPanel(QString const & name, Gui::Panel * panel) = 0;
+
+ /**
+ * Returns a panel by the name
+ * @param name Name of the panel
+ * @return Pointer to the panel or 0 if failed
+ *
+ * This function returns a panel identified by the name.
+ */
+ virtual Gui::Panel * panel(QString const & name) const = 0;
+
+ /**
+ * Shows a panel
+ * @param name Name of the panel
+ * @return True if succeeded; false if not
*
- * This function adds a window to the main SDI layout.
+ * This function shows the panel.
*/
- virtual void addWindow(Gui::Window * window) = 0;
+ virtual bool showPanel(QString const & name) = 0;
};