KDDockWidgets API Documentation 2.0
Loading...
Searching...
No Matches
qtquick/views/DockWidget.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
19#ifndef KD_DOCKWIDGET_QUICK_H
20#define KD_DOCKWIDGET_QUICK_H
21
22#include "kddockwidgets/core/views/DockWidgetViewInterface.h"
23#include "kddockwidgets/qtquick/Action.h"
24#include "View.h"
25
26QT_BEGIN_NAMESPACE
27class QQmlEngine;
28QT_END_NAMESPACE
29
30namespace KDDockWidgets {
31
32namespace Core {
33class Group;
34class TitleBar;
35}
36
37namespace QtQuick {
43class DOCKS_EXPORT DockWidget : public QtQuick::View,
45{
46 Q_OBJECT
47 Q_PROPERTY(QObject *actualTitleBar READ actualTitleBarView NOTIFY actualTitleBarChanged)
48 Q_PROPERTY(bool isFocused READ isFocused NOTIFY isFocusedChanged)
49 Q_PROPERTY(bool isFloating READ isFloating WRITE setFloating NOTIFY isFloatingChanged)
50 Q_PROPERTY(QString uniqueName READ uniqueName CONSTANT)
51 Q_PROPERTY(QString title READ title WRITE setTitle NOTIFY titleChanged)
52 Q_PROPERTY(QObject *guestItem READ guestItem NOTIFY guestItemChanged)
53 Q_PROPERTY(KDDockWidgets::DockWidgetOptions options READ options WRITE setOptions NOTIFY
54 optionsChanged)
55public:
56 using Core::DockWidgetViewInterface::raise;
57 using Core::DockWidgetViewInterface::show;
58
71 explicit DockWidget(const QString &uniqueName, DockWidgetOptions = {},
72 LayoutSaverOptions = {}, Qt::WindowFlags = Qt::Tool,
73 QQmlEngine *engine = nullptr);
74
76 ~DockWidget() override;
77
81 void setGuestItem(const QString &qmlFilename, QQmlContext *context = nullptr);
82
84 Q_INVOKABLE void setGuestItem(QQuickItem *);
85
87 QQuickItem *guestItem() const;
88
90 QSize minSize() const override;
91
93 QSize maxSizeHint() const override;
94
98 QObject *actualTitleBarView() const;
99
102 QQuickItem *groupVisualItem() const;
103
105 Q_INVOKABLE void onGeometryUpdated();
106
107 Q_INVOKABLE KDDockWidgets::QtQuick::Action *toggleAction() const;
108 Q_INVOKABLE KDDockWidgets::QtQuick::Action *floatAction() const;
109
110 std::shared_ptr<Core::View> focusCandidate() const override;
111
112#ifdef Q_MOC_RUN
113 // DockWidgetViewInterface is not a QObject, so trick moc
114 Q_INVOKABLE void setAsCurrentTab();
115 Q_INVOKABLE void forceClose();
116 Q_INVOKABLE bool isOpen() const;
117 Q_INVOKABLE void open();
118 Q_INVOKABLE void show();
119 Q_INVOKABLE void raise();
120 Q_INVOKABLE void moveToSideBar();
121#endif
122Q_SIGNALS:
132
133protected:
134 bool event(QEvent *e) override;
135
136private:
137 class Private;
138 Private *const d;
139};
140
141}
142}
143
144#endif
The interface that DockWidget views should implement.
void groupGeometryChanged(QRect)
The geometry of the group container this dock widget is in changed For example, when dragging a dockw...
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