Krita Source Code Documentation
Loading...
Searching...
No Matches
KisQmlPopupWidgetManager.h
Go to the documentation of this file.
1/*
2 * SPDX-FileCopyrightText: 2025 Wolthera van Hovell tot Westerflier <griffinvalley@gmail.com>
3 *
4 * SPDX-License-Identifier: GPL-2.0-or-later
5 */
6#ifndef KISQMLPOPUP_H
7#define KISQMLPOPUP_H
8
9#include <QObject>
10#include <QQmlEngine>
11#include <QQuickItem>
12
21class KisQmlPopupWidgetManager : public QObject
22{
23 Q_OBJECT
24
25 Q_PROPERTY(qreal x READ x WRITE setX NOTIFY xChanged)
26 Q_PROPERTY(qreal y READ y WRITE setY NOTIFY yChanged)
27
28 Q_PROPERTY(QQuickItem* parent READ itemParent WRITE setItemParent NOTIFY itemParentChanged)
29 Q_PROPERTY(QQuickItem* rootControl READ rootControl NOTIFY rootControlChanged)
30
31 Q_PROPERTY(qreal margins READ margins WRITE setMargins NOTIFY marginsChanged)
32 Q_PROPERTY(qreal topMargin READ topMargin WRITE setTopMargin RESET resetTopMargin NOTIFY topMarginChanged)
33 Q_PROPERTY(qreal leftMargin READ leftMargin WRITE setLeftMargin RESET resetLeftMargin NOTIFY leftMarginChanged)
36
37 Q_PROPERTY(bool visible READ visible NOTIFY visibleChanged)
38
39 QML_NAMED_ELEMENT(PopupWidget)
40public:
41 explicit KisQmlPopupWidgetManager(QObject *parent = nullptr);
43
44 qreal x() const;
45 void setX(const qreal value);
46
47 qreal y() const;
48 void setY(const qreal value);
49
50 QQuickItem *itemParent() const;
51 void setItemParent(QQuickItem *item);
52
53 QQuickItem *rootControl() const;
54
59 qreal margins() const;
60 void setMargins(const qreal value);
61
62 qreal topMargin() const;
63 qreal bottomMargin() const;
64 qreal leftMargin() const;
65 qreal rightMargin() const;
66
67 void setTopMargin(const qreal value);
68 void setLeftMargin(const qreal value);
69 void setRightMargin(const qreal value);
70 void setBottomMargin(const qreal value);
71
72 void resetTopMargin();
73 void resetLeftMargin();
74 void resetRightMargin();
75 void resetBottomMargin();
76
77 bool visible() const;
78
79 Q_INVOKABLE void open();
80 Q_INVOKABLE void close();
81 Q_INVOKABLE void releaseKeyboard();
82Q_SIGNALS:
83 void xChanged();
84 void yChanged();
85
88
95private Q_SLOTS:
96 void updateMargins();
97private:
98 struct Private;
99 QScopedPointer<Private> d;
100};
101
102#endif // KISQMLPOPUP_H
float value(const T *src, size_t ch)
The KisQmlPopupWidgetManager class This encapsulates a KisQQuickPopupWidget.h class,...
void setTopMargin(const qreal value)
void setBottomMargin(const qreal value)
QScopedPointer< Private > d
void setLeftMargin(const qreal value)
void setItemParent(QQuickItem *item)
void setRightMargin(const qreal value)
void setMargins(const qreal value)