KDDockWidgets API Documentation 2.0
Loading...
Searching...
No Matches
MainWindowViewInterface.h
Go to the documentation of this file.
1/*
2 This file is part of KDDockWidgets.
3
4 SPDX-FileCopyrightText: 2020 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
5 Author: SĂ©rgio Martins <sergio.martins@kdab.com>
6
7 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only
8
9 Contact KDAB at <info@kdab.com> for commercial licensing options.
10*/
11
12#pragma once
13
14#include "kddockwidgets/docks_export.h"
15#include "kddockwidgets/KDDockWidgets.h"
16
17namespace KDDockWidgets {
18
19namespace Core {
20
21class View;
22class SideBar;
23class MainWindow;
24class DockWidgetViewInterface;
25
27class DOCKS_EXPORT MainWindowViewInterface
28{
29public:
32 virtual Margins centerWidgetMargins() const = 0;
33 virtual Rect centralAreaGeometry() const = 0;
34 virtual void setContentsMargins(int left, int top, int right, int bottom) = 0;
35
37 MainWindow *mainWindow() const;
38
39
40 // controllers/MainWindow.h public interface:
41 QString uniqueName() const;
42 Vector<QString> affinities() const;
43 void setAffinities(const Vector<QString> &names);
44 MainWindowOptions options() const;
45 bool isMDI() const;
46 bool closeDockWidgets(bool force = false);
47 bool sideBarIsVisible(KDDockWidgets::SideBarLocation) const;
48 void clearSideBarOverlay(bool deleteFrame = true);
49 void layoutEqually();
50 bool anySideBarIsVisible() const;
51
52 void addDockWidgetAsTab(DockWidgetViewInterface *dockwidget);
53 void addDockWidget(DockWidgetViewInterface *dockWidget, KDDockWidgets::Location location,
54 DockWidgetViewInterface *relativeTo = nullptr,
55 const KDDockWidgets::InitialOption &initialOption = {});
56
57 void moveToSideBar(DockWidgetViewInterface *);
59 void restoreFromSideBar(DockWidgetViewInterface *);
60 void overlayOnSideBar(DockWidgetViewInterface *);
61 void toggleOverlayOnSideBar(DockWidgetViewInterface *);
62 void layoutParentContainerEqually(DockWidgetViewInterface *);
63
64 void moveToSideBar(const QString &dockId);
65 void moveToSideBar(const QString &dockId, KDDockWidgets::SideBarLocation);
66 void restoreFromSideBar(const QString &dockId);
67 void overlayOnSideBar(const QString &dockId);
68 void toggleOverlayOnSideBar(const QString &dockId);
69 void layoutParentContainerEqually(const QString &dockId);
70 void addDockWidgetAsTab(const QString &dockId);
71 void addDockWidget(const QString &dockId, KDDockWidgets::Location,
72 const QString &relativeToDockId = {}, const KDDockWidgets::InitialOption & = {});
73
74 void setPersistentCentralView(std::shared_ptr<Core::View>);
75
76protected:
80};
81
82}
83
84}
The interface that DockWidget views should implement.
The interface that MainWindow views should implement.
MainWindowViewInterface & operator=(const MainWindowViewInterface &)=delete
MainWindowViewInterface(const MainWindowViewInterface &)=delete
virtual Margins centerWidgetMargins() const =0
virtual void setContentsMargins(int left, int top, int right, int bottom)=0
The MainWindow base-class. MainWindow and MainWindowBase are only split in two so we can share some c...
Class to abstract QAction, so code still works with QtQuick and Flutter.
SideBarLocation
Each main window supports 4 sidebars.
Struct describing the preferred dock widget size and visibility when adding it to a layout.

© Klarälvdalens Datakonsult AB (KDAB)
"The Qt, C++ and OpenGL Experts"
https://www.kdab.com/
KDDockWidgets
Advanced Dock Widget Framework for Qt
https://www.kdab.com/development-resources/qt-tools/kddockwidgets/
Generated by doxygen 1.9.8