24 Q_PROPERTY(
bool floating READ isFloating WRITE setFloating NOTIFY topLevelChanged)
25 Q_PROPERTY(DockWidgetFeatures features READ features WRITE setFeatures NOTIFY featuresChanged)
26 Q_PROPERTY(Qt::DockWidgetAreas allowedAreas READ allowedAreas
27 WRITE setAllowedAreas NOTIFY allowedAreasChanged)
28 Q_PROPERTY(QString windowTitle READ windowTitle WRITE setWindowTitle DESIGNABLE
true)
29 Q_PROPERTY(Qt::DockWidgetArea dockLocation READ dockLocation WRITE setDockLocation
30 NOTIFY dockLocationChanged)
33 explicit QDockWidget(
const QString &title, QWidget *parent =
nullptr,
34 Qt::WindowFlags flags = Qt::WindowFlags());
35 explicit QDockWidget(QWidget *parent =
nullptr, Qt::WindowFlags flags = Qt::WindowFlags());
38 QWidget *widget()
const;
39 void setWidget(QWidget *widget);
41 enum DockWidgetFeature {
42 DockWidgetClosable = 0x01,
43 DockWidgetMovable = 0x02,
44 DockWidgetFloatable = 0x04,
45 DockWidgetVerticalTitleBar = 0x08,
47 DockWidgetFeatureMask = 0x0f,
48 NoDockWidgetFeatures = 0x00,
52 Q_DECLARE_FLAGS(DockWidgetFeatures, DockWidgetFeature)
53 Q_FLAG(DockWidgetFeatures)
55 void setFeatures(DockWidgetFeatures features);
56 DockWidgetFeatures features()
const;
58 void setFloating(
bool floating);
59 inline bool isFloating()
const {
return isWindow(); }
61 void setAllowedAreas(Qt::DockWidgetAreas areas);
62 Qt::DockWidgetAreas allowedAreas()
const;
64 void setTitleBarWidget(QWidget *widget);
65 QWidget *titleBarWidget()
const;
67 void setDockLocation(Qt::DockWidgetArea area);
68 Qt::DockWidgetArea dockLocation()
const;
70 inline bool isAreaAllowed(Qt::DockWidgetArea area)
const
71 {
return (allowedAreas() & area) == area; }
73#ifndef QT_NO_DEBUG_STREAM
74 friend Q_WIDGETS_EXPORT QDebug operator<<(QDebug dbg,
const QDockWidget *dockWidget);
78 QAction *toggleViewAction()
const;
82 void featuresChanged(QDockWidget::DockWidgetFeatures features);
83 void topLevelChanged(
bool topLevel);
84 void allowedAreasChanged(Qt::DockWidgetAreas allowedAreas);
85 void visibilityChanged(
bool visible);
86 void dockLocationChanged(Qt::DockWidgetArea area);
89 void changeEvent(QEvent *event) override;
90 void closeEvent(QCloseEvent *event) override;
91 void paintEvent(QPaintEvent *event) override;
92 bool event(QEvent *event) override;
93 virtual void initStyleOption(QStyleOptionDockWidget *option)
const;
96 Q_DECLARE_PRIVATE(QDockWidget)
97 Q_DISABLE_COPY(QDockWidget)
98 friend class QDockAreaLayout;
99 friend class QDockWidgetItem;
100 friend class QMainWindowLayout;
101 friend class QDockWidgetLayout;
102 friend class QDockAreaLayoutInfo;
static QInternal::DockPosition dockPosHelper(const QRect &rect, const QPoint &_pos, Qt::Orientation o, bool nestingEnabled, QDockAreaLayoutInfo::TabMode tabMode)