aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/advanceddockingsystem/dockwidget.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/advanceddockingsystem/dockwidget.h')
-rw-r--r--src/libs/advanceddockingsystem/dockwidget.h67
1 files changed, 62 insertions, 5 deletions
diff --git a/src/libs/advanceddockingsystem/dockwidget.h b/src/libs/advanceddockingsystem/dockwidget.h
index 687704e365..ee9626d7da 100644
--- a/src/libs/advanceddockingsystem/dockwidget.h
+++ b/src/libs/advanceddockingsystem/dockwidget.h
@@ -152,8 +152,8 @@ public:
using Super = QFrame;
enum DockWidgetFeature {
- DockWidgetClosable = 0x01,
- DockWidgetMovable = 0x02,///< this feature is not properly implemented yet and is ignored
+ DockWidgetClosable = 0x01,///< dock widget has a close button
+ DockWidgetMovable = 0x02,///< dock widget is movable and can be moved to a new position in the current dock container
DockWidgetFloatable = 0x04,
DockWidgetDeleteOnClose = 0x08, ///< deletes the dock widget when it is closed
CustomCloseHandling = 0x10,
@@ -226,13 +226,13 @@ public:
/**
* Virtual Destructor
*/
- virtual ~DockWidget() override;
+ ~DockWidget() override;
/**
* We return a fixed minimum size hint or the size hint of the content
* widget if minimum size hint mode is MinimumSizeHintFromContent
*/
- virtual QSize minimumSizeHint() const override;
+ QSize minimumSizeHint() const override;
/**
* Sets the widget for the dock widget to widget.
@@ -435,11 +435,31 @@ public:
void setTabToolTip(const QString &text);
#endif
+ /**
+ * Returns true if the dock widget is floating and if the floating dock
+ * container is full screen
+ */
+ bool isFullScreen() const;
+
+ /**
+ * Returns true if this dock widget is in a dock area, that contains at
+ * least 2 opened dock widgets
+ */
+ bool isTabbed() const;
+
+ /**
+ * Returns true if this dock widget is the current one in the dock
+ * area widget that contains it.
+ * If the dock widget is the only opened dock widget in a dock area,
+ * the true is returned
+ */
+ bool isCurrentTab() const;
+
public: // reimplements QFrame
/**
* Emits titleChanged signal if title change event occurs
*/
- virtual bool event(QEvent *event) override;
+ bool event(QEvent *event) override;
/**
* This property controls whether the dock widget is open or closed.
@@ -448,6 +468,23 @@ public: // reimplements QFrame
void toggleView(bool open = true);
/**
+ * Makes this dock widget the current tab in its dock area.
+ * The function only has an effect, if the dock widget is open. A call
+ * to this function will not toggle the view, so if it is closed,
+ * nothing will happen
+ */
+ void setAsCurrentTab();
+
+ /**
+ * Brings the dock widget to the front
+ * This means:
+ * - If the dock widget is tabbed with other dock widgets but its tab is not current, it's made current.
+ * - If the dock widget is floating, QWindow::raise() is called.
+ * This only applies if the dock widget is already open. If closed, does nothing.
+ */
+ void raise();
+
+ /**
* This function will make a docked widget floating
*/
void setFloating();
@@ -463,6 +500,26 @@ public: // reimplements QFrame
*/
void closeDockWidget();
+ /**
+ * Shows the widget in full-screen mode.
+ * Normally this function only affects windows. To make the interface
+ * compatible to QDockWidget, this function also maximizes a floating
+ * dock widget.
+ *
+ * \note Full-screen mode works fine under Windows, but has certain
+ * problems (doe not work) under X (Linux). These problems are due to
+ * limitations of the ICCCM protocol that specifies the communication
+ * between X11 clients and the window manager. ICCCM simply does not
+ * understand the concept of non-decorated full-screen windows.
+ */
+ void showFullScreen();
+
+ /**
+ * This function complements showFullScreen() to restore the widget
+ * after it has been in full screen mode.
+ */
+ void showNormal();
+
signals:
/**
* This signal is emitted if the dock widget is opened or closed