39 QT_FORWARD_DECLARE_CLASS(QSettings)
40 QT_FORWARD_DECLARE_CLASS(QMenu)
44 struct DockManagerPrivate;
45 class CFloatingDockContainer;
46 struct FloatingDockContainerPrivate;
47 class CDockContainerWidget;
48 class DockContainerWidgetPrivate;
50 class CDockAreaTabBar;
52 struct DockWidgetTabPrivate;
53 struct DockAreaWidgetPrivate;
55 class CDockComponentsFactory;
115 CDockOverlay* containerOverlay()
const;
120 CDockOverlay* dockAreaOverlay()
const;
127 void notifyWidgetOrAreaRelocation(QWidget* RelocatedWidget);
141 virtual void showEvent(QShowEvent *event)
override;
149 MenuAlphabeticallySorted
159 ActiveTabHasCloseButton = 0x0001,
160 DockAreaHasCloseButton = 0x0002,
161 DockAreaCloseButtonClosesTab = 0x0004,
162 OpaqueSplitterResize = 0x0008,
163 XmlAutoFormattingEnabled = 0x0010,
164 XmlCompressionEnabled = 0x0020,
165 TabCloseButtonIsToolButton = 0x0040,
166 AllTabsHaveCloseButton = 0x0080,
167 RetainTabSizeWhenCloseButtonHidden = 0x0100,
168 OpaqueUndocking = 0x0200,
169 DragPreviewIsDynamic = 0x0400,
170 DragPreviewShowsContentPixmap = 0x0800,
171 DragPreviewHasWindowFrame = 0x1000,
172 AlwaysShowTabs = 0x2000,
173 DockAreaHasUndockButton = 0x4000,
174 DockAreaHasTabsMenuButton = 0x8000,
175 DockAreaHideDisabledButtons = 0x10000,
176 DockAreaDynamicTabsMenuButtonVisibility = 0x20000,
177 FloatingContainerHasWidgetTitle = 0x40000,
178 FloatingContainerHasWidgetIcon = 0x80000,
179 HideSingleCentralWidgetTitleBar = 0x100000,
182 FocusHighlighting = 0x200000,
183 EqualSplitOnInsertion = 0x400000,
185 FloatingContainerForceNativeTitleBar = 0x800000,
186 FloatingContainerForceQWidgetTitleBar = 0x1000000,
192 DefaultDockAreaButtons = DockAreaHasCloseButton
193 | DockAreaHasUndockButton
194 | DockAreaHasTabsMenuButton,
196 DefaultBaseConfig = DefaultDockAreaButtons
197 | ActiveTabHasCloseButton
198 | XmlCompressionEnabled
199 | FloatingContainerHasWidgetTitle,
201 DefaultOpaqueConfig = DefaultBaseConfig
202 | OpaqueSplitterResize
205 DefaultNonOpaqueConfig = DefaultBaseConfig
206 | DragPreviewShowsContentPixmap,
208 NonOpaqueWithWindowFrame = DefaultNonOpaqueConfig
209 | DragPreviewHasWindowFrame
211 Q_DECLARE_FLAGS(ConfigFlags, eConfigFlag)
230 static ConfigFlags configFlags();
237 static void setConfigFlags(
const ConfigFlags Flags);
243 static void setConfigFlag(eConfigFlag Flag,
bool On =
true);
248 static bool testConfigFlag(eConfigFlag Flag);
300 CDockWidget* findDockWidget(
const QString& ObjectName)
const;
328 unsigned int zOrderIndex()
const override;
342 QByteArray saveState(
int version = 0)
const;
352 bool restoreState(
const QByteArray &
state,
int version = 0);
362 void addPerspective(
const QString& UniquePrespectiveName);
367 void removePerspective(
const QString&
Name);
372 void removePerspectives(
const QStringList& Names);
377 QStringList perspectiveNames()
const;
382 void savePerspectives(QSettings& Settings)
const;
387 void loadPerspectives(QSettings& Settings);
431 QAction* addToggleViewActionToMenu(QAction* ToggleViewAction,
432 const QString& Group = QString(),
const QIcon& GroupIcon = QIcon());
439 QMenu* viewMenu()
const;
449 void setViewMenuInsertionOrder(eViewMenuInsertionOrder Order);
455 bool isRestoringState()
const;
461 static int startDragDistance();
467 template <
class QW
idgetPtr>
475 widget->setFocus(Qt::OtherFocusReason);
479 bool eventFilter(QObject *obj, QEvent *e)
override;
513 void openPerspective(
const QString& PerspectiveName);
526 void perspectiveListChanged();
531 void perspectivesRemoved();
538 void restoringState();
545 void stateRestored();
555 void openingPerspective(
const QString& PerspectiveName);
561 void perspectiveOpened(
const QString& PerspectiveName);
606 #endif // DockManagerH