- Add an example folder for auto hide functionality

Note: this does not include the py file, To be added in a different
commit
- Added a better API to programatically add the overlay areas in the
CDockManager
This commit is contained in:
Syarif Fakhri
2022-09-06 15:35:18 +08:00
parent bfab7e495a
commit 6e35a9e7a7
16 changed files with 452 additions and 32 deletions

View File

@@ -865,7 +865,7 @@ CDockAreaWidget* CDockManager::addDockWidget(DockWidgetArea area,
CDockWidget* Dockwidget, CDockAreaWidget* DockAreaWidget)
{
d->DockWidgetsMap.insert(Dockwidget->objectName(), Dockwidget);
auto Container = DockAreaWidget ? DockAreaWidget->dockContainer(): this;
auto Container = DockAreaWidget ? DockAreaWidget->dockContainer() : this;
auto AreaOfAddedDockWidget = Container->addDockWidget(area, Dockwidget, DockAreaWidget);
Q_EMIT dockWidgetAdded(Dockwidget);
return AreaOfAddedDockWidget;
@@ -881,6 +881,24 @@ CDockAreaWidget* CDockManager::addDockWidgetToContainer(DockWidgetArea area,
return AreaOfAddedDockWidget;
}
//============================================================================
COverlayDockContainer* CDockManager::addOverlayDockWidget(SideTabBarArea area, CDockWidget* Dockwidget)
{
return addOverlayDockWidgetToContainer(area, Dockwidget, this);
}
//============================================================================
COverlayDockContainer* CDockManager::addOverlayDockWidgetToContainer(SideTabBarArea area, CDockWidget* Dockwidget, CDockContainerWidget* DockContainerWidget)
{
d->DockWidgetsMap.insert(Dockwidget->objectName(), Dockwidget);
auto container = DockContainerWidget->createAndInitializeDockWidgetOverlayContainer(area, Dockwidget);
container->dockAreaWidget()->toggleView(false);
Dockwidget->toggleView(false);
Q_EMIT dockWidgetAdded(Dockwidget);
return container;
}
//============================================================================
CDockAreaWidget* CDockManager::addDockWidgetTab(DockWidgetArea area,