38 DockWidgetClosable = 0x001,
40 DockWidgetMovable = 0x002,
42 DockWidgetFloatable = 0x004,
44 DockWidgetDeleteOnClose = 0x008,
46 CustomCloseHandling = 0x010,
48 DockWidgetFocusable = 0x020,
50 DockWidgetForceCloseWithArea = 0x040,
55 DeleteContentOnClose = 0x100,
57 DockWidgetPinnable = 0x200,
59 DefaultDockWidgetFeatures =
60 DockWidgetClosable | DockWidgetMovable | DockWidgetFloatable | DockWidgetFocusable | DockWidgetPinnable,
61 AllDockWidgetFeatures = DefaultDockWidgetFeatures | DockWidgetDeleteOnClose | CustomCloseHandling,
62 DockWidgetAlwaysCloseAndDelete = DockWidgetForceCloseWithArea | DockWidgetDeleteOnClose,
63 GloballyLockableFeatures = DockWidgetClosable | DockWidgetMovable | DockWidgetFloatable | DockWidgetPinnable,
64 NoDockWidgetFeatures = 0x000
66 Q_DECLARE_FLAGS(DockWidgetFeatures, DockWidgetFeature)
129 ToolBarStyleFromDockWidget
132 explicit DockWidget(
const QString &title, QWidget *parent =
nullptr);
135 void setWidget(QWidget *w, WidgetInsertMode insertMode = AutoScrollArea);
136 QWidget *widget()
const;
137 QWidget *takeWidget();
141 DockWidgetFeatures features()
const;
142 void setFeatures(DockWidgetFeatures features);
143 void setFeature(DockWidgetFeature flag,
bool on);
144 void notifyFeaturesChanged();
151 bool isFloating()
const;
152 bool isInFloatingContainer()
const;
153 bool isClosed()
const;
154 bool isFullScreen()
const;
155 bool isTabbed()
const;
156 bool isCurrentTab()
const;
157 bool isCentralWidget()
const;
159 QAction *toggleViewAction()
const;
160 void setToggleViewAction(QAction *action);
161 void setToggleViewActionMode(ToggleViewActionMode mode);
162 void setToggleViewActionChecked(
bool checked);
164 virtual QList<QAction *> titleBarActions()
const;
165 void setTitleBarActions(QList<QAction *> actions);
167 MinimumSizeHintMode minimumSizeHintMode()
const;
168 void setMinimumSizeHintMode(MinimumSizeHintMode mode);
169 virtual QSize minimumSizeHint()
const override;
172 void setIcon(
const QIcon &icon);
174 QToolBar *toolBar()
const;
175 void setToolBar(QToolBar *toolBar);
177 ToolBarStyleSource toolBarStyleSource()
const;
178 void setToolBarStyleSource(ToolBarStyleSource source);
179 Qt::ToolButtonStyle toolBarStyle(State state)
const;
180 void setToolBarStyle(Qt::ToolButtonStyle style, State state);
181 QSize toolBarIconSize(State state)
const;
182 void setToolBarIconSize(
const QSize &iconSize, State state);
186 bool isAutoHide()
const;
194 void setTabToolTip(
const QString &
text);
198 void toggleView(
bool open =
true);
199 void deleteDockWidget();
200 void closeDockWidget();
201 void requestCloseDockWidget();
204 void setAsCurrentTab();
206 void showFullScreen();
211 void setToolBarFloatingStyle(
bool floating);
234 void setClosedState(
bool closed);
235 static void emitTopLevelEventForWidget(
DockWidget *topLevelDockWidget,
bool floating);
236 void emitTopLevelChanged(
bool floating);
237 void toggleViewInternal(
bool open);
238 bool closeDockWidgetInternal(
bool forceClose =
false);
239 void flagAsUnassigned();
240 void saveState(QXmlStreamWriter &s)
const;
242 virtual bool event(QEvent *e)
override;
248 friend class DockWindowPrivate;
249 friend class DockTitleBarPrivate;