KDDockWidgets API Documentation 2.0
Loading...
Searching...
No Matches
qtwidgets/ViewFactory.h
Go to the documentation of this file.
1/*
2 This file is part of KDDockWidgets.
3
4 SPDX-FileCopyrightText: 2019 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#ifndef KDDOCKWIDGETS_VIEWFACTORY_QTWIDGETS_H
13#define KDDOCKWIDGETS_VIEWFACTORY_QTWIDGETS_H
14
15#include "kddockwidgets/core/ViewFactory.h"
16
17#include <QMap>
18
19#include <utility>
20
21// clazy:excludeall=ctor-missing-parent-argument
22
30QT_BEGIN_NAMESPACE
31class QAbstractButton;
32QT_END_NAMESPACE
33
34
35namespace KDDockWidgets {
36
37class DropIndicatorOverlay;
38
39namespace Core {
40class DropArea;
41class Separator;
42class TabBar;
43class SideBar;
44class FloatingWindow;
45class MainWindow;
46}
47
48namespace QtWidgets {
49
53class DOCKS_EXPORT ViewFactory : public Core::ViewFactory
54{
55 Q_OBJECT
56public:
57 ViewFactory() = default;
58 ~ViewFactory() override;
59
60 Core::View *createDockWidget(const QString &uniqueName, DockWidgetOptions = {},
61 LayoutSaverOptions = {}, Qt::WindowFlags = {}) const override;
62
63 Core::View *createGroup(Core::Group *, Core::View *parent) const override;
64 Core::View *createTitleBar(Core::TitleBar *, Core::View *parent) const override;
65 Core::View *createStack(Core::Stack *, Core::View *parent) const override;
66 Core::View *createTabBar(Core::TabBar *tabBar, Core::View *parent) const override;
67 Core::View *createSeparator(Core::Separator *, Core::View *parent = nullptr) const override;
68 Core::View *createFloatingWindow(Core::FloatingWindow *,
69 Core::MainWindow *parent = nullptr,
70 Qt::WindowFlags windowFlags = {}) const override;
71 Core::View *createRubberBand(Core::View *parent) const override;
72 Core::View *createSideBar(Core::SideBar *, Core::View *parent) const override;
73 Core::View *createDropArea(Core::DropArea *, Core::View *parent) const override;
74 Core::View *createMDILayout(Core::MDILayout *, Core::View *parent) const override;
75 QIcon iconForButtonType(TitleBarButtonType type, qreal dpr) const override;
76 void clearIconCache();
77 QAbstractButton *createTitleBarButton(QWidget *parent, TitleBarButtonType) const;
78
79 Core::ClassicIndicatorWindowViewInterface *
80 createClassicIndicatorWindow(Core::ClassicDropIndicatorOverlay *, Core::View *parent) const override;
81 Core::View *createSegmentedDropIndicatorOverlayView(Core::SegmentedDropIndicatorOverlay *controller,
82 Core::View *parent) const override;
83
84 KDDockWidgets::Core::Action *createAction(Core::DockWidget *, const char *debugName) const override;
85
86private:
87 Q_DISABLE_COPY(ViewFactory)
89};
90
91}
92
93}
94
95#endif
A factory class for allowing the user to customize some internal views. This is optional,...
The default ViewFactory for QtWidgets frontend.
Class to abstract QAction, so code still works with QtQuick and Flutter.
typedef WindowFlags

© 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