KDDockWidgets API Documentation 2.0
Loading...
Searching...
No Matches
DockWidgetInstantiator.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 KD_DOCKWIDGET_INSTANTIATOR_P_H
13#define KD_DOCKWIDGET_INSTANTIATOR_P_H
14
17
18#include <QQmlParserStatus>
19#include <QQuickItem>
20#include <QString>
21
22#include <optional>
23
24namespace KDDockWidgets {
25
35class DockWidgetInstantiator : public QQuickItem
36{
37 Q_OBJECT
39 Q_PROPERTY(QString source READ source WRITE setSource NOTIFY sourceChanged)
40 Q_PROPERTY(KDDockWidgets::QtQuick::DockWidget *dockWidget READ dockWidget NOTIFY
43 Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged)
44 Q_PROPERTY(bool isFocused READ isFocused NOTIFY isFocusedChanged)
45 Q_PROPERTY(bool isFloating READ isFloating WRITE setFloating NOTIFY isFloatingChanged)
46 Q_PROPERTY(bool isOpen READ isOpen NOTIFY isOpenChanged)
47public:
48 QString uniqueName() const;
49 void setUniqueName(const QString &);
50
51 QString source() const;
52 void setSource(const QString &);
53
54 KDDockWidgets::QtQuick::DockWidget *dockWidget() const;
55 KDDockWidgets::Core::DockWidget *controller() const;
56 QObject *actualTitleBar() const;
57
58 QString title() const;
59 void setTitle(const QString &title);
60
61 bool isFocused() const;
62 bool isFloating() const;
63 bool isOpen() const;
64 void setFloating(bool);
65
66 Q_INVOKABLE void addDockWidgetAsTab(QQuickItem *other,
68
69 Q_INVOKABLE void addDockWidgetToContainingWindow(QQuickItem *other,
71 QQuickItem *relativeTo = nullptr,
72 QSize initialSize = {},
74
75 Q_INVOKABLE void setAsCurrentTab();
76 Q_INVOKABLE void forceClose();
77 Q_INVOKABLE bool close();
78 Q_INVOKABLE void open();
79 Q_INVOKABLE void show();
80 Q_INVOKABLE void raise();
81 Q_INVOKABLE void moveToSideBar();
82
89 Q_INVOKABLE void deleteDockWidget();
90
91protected:
92 void classBegin() override;
93 void componentComplete() override;
94
95Q_SIGNALS:
102 void closed();
103 void guestViewChanged(QQuickItem *);
104 void optionsChanged(KDDockWidgets::DockWidgetOptions);
108 void isOpenChanged(bool);
110 void windowActiveAboutToChange(bool activated);
111
112private:
113 std::optional<bool> m_isFloating;
114 QString m_uniqueName;
115 QString m_sourceFilename;
116 QString m_title;
117 Core::DockWidget *m_dockWidget = nullptr;
118};
119}
120
121#endif
The DockWidget base-class. DockWidget and Core::DockWidget are only split in two so we can share some...
Indirection helper to instantiate dock widgets from QML.
Q_INVOKABLE void addDockWidgetToContainingWindow(QQuickItem *other, KDDockWidgets::Location location, QQuickItem *relativeTo=nullptr, QSize initialSize={}, KDDockWidgets::InitialVisibilityOption={})
void windowActiveAboutToChange(bool activated)
KDDockWidgets::QtQuick::DockWidget * dockWidget
void titleChanged(const QString &title)
KDDockWidgets::Core::DockWidget * controller() const
void optionsChanged(KDDockWidgets::DockWidgetOptions)
Q_INVOKABLE void addDockWidgetAsTab(QQuickItem *other, KDDockWidgets::InitialVisibilityOption={})
Class to abstract QAction, so code still works with QtQuick and Flutter.
Represents a dock widget.

© 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