]> vaikene.ee Git - evaf/blobdiff - src/plugins/SdiWindow/isdiwindow.h
In the process of creating a more generic document interface manager (or window manag...
[evaf] / src / plugins / SdiWindow / isdiwindow.h
index 13b99037471a499f02ab2d85f02a3ab08952c94e..4e0e43d88d6ebb2daac904a4f2502eb76e46fbf1 100644 (file)
@@ -31,7 +31,7 @@ class QLayout;
 namespace eVaf {
 
 namespace Gui {
-    class Window;
+    class Panel;
 } // namespace eVaf::Gui
 
 namespace SdiWindow {
@@ -54,12 +54,33 @@ struct SDIWINDOW_EXPORT iSdiWindow
     static iSdiWindow * instance();
 
     /**
-     * Adds the window to the main SDI window
-     * @param window The window
+     * Adds a panel to the SDI window manager
+     * @param name Name of the panel
+     * @param panel The panel
      *
-     * This function adds a window to the main SDI layout.
+     * 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 addWindow(Gui::Window * window) = 0;
+    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 shows the panel.
+     */
+    virtual bool showPanel(QString const & name) = 0;
 
 };