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,
InitialOption = {});
61 void insertWidget(DockWidget *,
int index, 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 isCentralFrame()
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;
246 void setAllowedResizeSides(CursorPositions sides);
254 bool isMDIWrapper()
const;
262 DropArea *mdiDropAreaWrapper()
const;
266 Group *mdiFrame()
const;
274 bool hasNestedMDIDockWidgets()
const;
277 int userType()
const;
280 WidgetResizeHandler *resizeHandler()
const;
282 void renameTab(
int index,
const QString &);
283 void changeTabIcon(
int index,
const Icon &);
287 void onDockWidgetCountChanged();
290 FloatingWindowFlags requestedFloatingWindowFlags()
const;
292 LayoutingGuest *asLayoutingGuest()
const;
298 void isFocusedChangedCallback()
override;
299 void focusedWidgetChangedCallback()
override;
300 void setParentView_impl(
View *parent)
override;
308 Size dockWidgetsMinSize()
const;
322 Size biggestDockWidgetMaxSize()
const;
323 int nonContentsHeight()
const;
326 Private *dptr()
const;
330 bool m_inCtor =
true;
332 bool m_inDtor =
false;
340 friend class ::TestDocks;
343 void scheduleDeleteLater();
344 void onCloseEvent(CloseEvent *);
346 Layout *m_layout =
nullptr;
347 WidgetResizeHandler *m_resizeHandler =
nullptr;
348 bool m_updatingTitleBar = false;
349 bool m_beingDeleted = false;