46 explicit Group(
View *parent =
nullptr, FrameOptions = FrameOption_None,
50 static Group *deserialize(
const LayoutSaver::Group &);
51 LayoutSaver::Group serialize()
const;
58 void addTab(FloatingWindow *floatingWindow,
const InitialOption & = {});
61 void insertWidget(DockWidget *,
int index,
const InitialOption & = {});
64 void removeWidget(DockWidget *);
70 int indexOfDockWidget(
const DockWidget *);
73 int currentIndex()
const;
76 void setCurrentTabIndex(
int index);
79 void setCurrentDockWidget(DockWidget *);
82 void insertDockWidget(DockWidget *,
int index);
91 int dockWidgetCount()
const;
94 Core::Stack *stack()
const;
95 Core::TabBar *tabBar()
const;
97 void updateTitleAndIcon();
98 void onDockWidgetTitleChanged(DockWidget *);
99 void updateTitleBarVisibility();
100 void updateFloatingActions();
101 bool containsMouse(Point globalPos)
const;
102 Core::TitleBar *titleBar()
const;
103 Core::TitleBar *actualTitleBar()
const;
106 Vector<DockWidget *> dockWidgets()
const;
108 bool isTheOnlyGroup()
const;
111 bool isOverlayed()
const;
124 bool isFloating()
const;
131 bool isInFloatingWindow()
const;
136 bool isInMainWindow()
const;
145 bool isCentralGroup()
const;
148 bool isDockable()
const;
160 bool alwaysShowsTabs()
const;
163 bool containsDockWidget(DockWidget *w)
const;
181 void restoreToPreviousPosition();
183 int currentTabIndex()
const;
184 FrameOptions options()
const;
185 bool anyNonClosable()
const;
186 bool anyNonDockable()
const;
192 return dockWidgetCount() == 0;
198 return dockWidgetCount() == 1;
203 Core::Item *layoutItem()
const;
206 static int dbg_numFrames();
211 bool beingDeletedLater()
const;
218 bool hasTabsVisible()
const;
223 void setLayoutItem(Core::Item *item);
230 virtual Rect dragRect()
const;
245 void setAllowedResizeSides(CursorPositions sides);
253 bool isMDIWrapper()
const;
261 DropArea *mdiDropAreaWrapper()
const;
265 Group *mdiFrame()
const;
273 bool hasNestedMDIDockWidgets()
const;
276 int userType()
const;
279 WidgetResizeHandler *resizeHandler()
const;
281 void renameTab(
int index,
const QString &);
282 void changeTabIcon(
int index,
const Icon &);
286 void onDockWidgetCountChanged();
289 FloatingWindowFlags requestedFloatingWindowFlags()
const;
291 LayoutingGuest *asLayoutingGuest()
const;
299 void isFocusedChangedCallback()
override;
300 void focusedWidgetChangedCallback()
override;
301 void setParentView_impl(
View *parent)
override;
309 Size dockWidgetsMinSize()
const;
323 Size biggestDockWidgetMaxSize()
const;
324 int nonContentsHeight()
const;
327 Private *dptr()
const;
331 bool m_inCtor =
true;
333 bool m_inDtor =
false;
339#ifdef DOCKS_DEVELOPER_MODE
345 friend class ::TestDocks;
348 void scheduleDeleteLater();
349 void createMDIResizeHandler();
350 void onCloseEvent(CloseEvent *);
352 Layout *m_layout =
nullptr;
353 WidgetResizeHandler *m_resizeHandler =
nullptr;
354 bool m_updatingTitleBar = false;
355 bool m_beingDeleted = false;