Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qquickcolordialogimpl_p.h
Go to the documentation of this file.
1// Copyright (C) 2022 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:default
4
5#ifndef QQUICKCOLORDIALOGIMPL_P_H
6#define QQUICKCOLORDIALOGIMPL_P_H
7
8//
9// W A R N I N G
10// -------------
11//
12// This file is not part of the Qt API. It exists purely as an
13// implementation detail. This header file may change from version to
14// version without notice, or even be removed.
15//
16// We mean it.
17//
18
19#include <QtQuickTemplates2/private/qquickdialog_p.h>
20
22
23QT_BEGIN_NAMESPACE
24
25class QQuickDialogButtonBox;
26class QQuickAbstractColorPicker;
27class QQuickColorInputs;
28class QQuickSlider;
29
30class QQuickColorDialogImplAttached;
33
34class Q_QUICKDIALOGS2QUICKIMPL_EXPORT QQuickColorDialogImpl : public QQuickDialog
35{
36 Q_OBJECT
37 Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged)
38 Q_PROPERTY(qreal hue READ hue WRITE setHue NOTIFY colorChanged)
39 Q_PROPERTY(qreal saturation READ saturation WRITE setSaturation NOTIFY colorChanged)
40 Q_PROPERTY(qreal value READ value WRITE setValue NOTIFY colorChanged)
41 Q_PROPERTY(qreal lightness READ lightness WRITE setLightness NOTIFY colorChanged)
42 Q_PROPERTY(qreal alpha READ alpha WRITE setAlpha NOTIFY colorChanged FINAL)
43 Q_PROPERTY(int red READ red WRITE setRed NOTIFY colorChanged FINAL)
44 Q_PROPERTY(int green READ green WRITE setGreen NOTIFY colorChanged FINAL)
45 Q_PROPERTY(int blue READ blue WRITE setBlue NOTIFY colorChanged FINAL)
46 Q_PROPERTY(bool isHsl READ isHsl WRITE setHsl NOTIFY specChanged FINAL)
47 QML_NAMED_ELEMENT(ColorDialogImpl)
48 QML_ATTACHED(QQuickColorDialogImplAttached)
49 QML_ADDED_IN_VERSION(6, 4)
50
51public:
52 explicit QQuickColorDialogImpl(QObject *parent = nullptr);
53
54 static QQuickColorDialogImplAttached *qmlAttachedProperties(QObject *object);
55
56 QSharedPointer<QColorDialogOptions> options() const;
57 void setOptions(const QSharedPointer<QColorDialogOptions> &options);
58
59 QColor color() const;
60 void setColor(const QColor &c);
61
62 int red() const;
63 void setRed(int red);
64
65 int green() const;
66 void setGreen(int green);
67
68 int blue() const;
69 void setBlue(int blue);
70
71 qreal alpha() const;
72 void setAlpha(qreal alpha);
73
74 qreal hue() const;
75 void setHue(qreal hue);
76
77 qreal saturation() const;
78 void setSaturation(qreal saturation);
79
80 qreal value() const;
81 void setValue(qreal value);
82
83 qreal lightness() const;
84 void setLightness(qreal lightness);
85
86 bool isHsl() const;
87 void setHsl(bool hsl);
88
89 Q_INVOKABLE void invokeEyeDropper();
90
91Q_SIGNALS:
92 void colorChanged(const QColor &color);
93 void specChanged();
94
95private:
96 void itemChange(QQuickItem::ItemChange change, const QQuickItem::ItemChangeData &data) override;
97
98 Q_DISABLE_COPY(QQuickColorDialogImpl)
99 Q_DECLARE_PRIVATE(QQuickColorDialogImpl)
100};
101
102class Q_QUICKDIALOGS2QUICKIMPL_EXPORT QQuickColorDialogImplAttached : public QObject
103{
104 Q_OBJECT
105 Q_PROPERTY(QQuickDialogButtonBox *buttonBox READ buttonBox WRITE setButtonBox NOTIFY buttonBoxChanged FINAL)
106 Q_PROPERTY(QQuickAbstractButton *eyeDropperButton READ eyeDropperButton WRITE setEyeDropperButton NOTIFY eyeDropperButtonChanged FINAL)
107 Q_PROPERTY(QQuickAbstractColorPicker *colorPicker READ colorPicker WRITE setColorPicker NOTIFY
108 colorPickerChanged FINAL)
109 Q_PROPERTY(QQuickColorInputs *colorInputs READ colorInputs WRITE setColorInputs NOTIFY
110 colorInputsChanged FINAL)
111 Q_PROPERTY(QQuickSlider *alphaSlider READ alphaSlider WRITE setAlphaSlider NOTIFY
112 alphaSliderChanged FINAL)
113 Q_MOC_INCLUDE(<QtQuickTemplates2/private/qquickdialogbuttonbox_p.h>)
114 Q_MOC_INCLUDE(<QtQuickTemplates2/private/qquickabstractbutton_p.h>)
115 Q_MOC_INCLUDE(<QtQuickTemplates2/private/qquickslider_p.h>)
116 Q_MOC_INCLUDE("qquickabstractcolorpicker_p.h")
117 Q_MOC_INCLUDE("qquickcolorinputs_p.h")
118
119public:
120 explicit QQuickColorDialogImplAttached(QObject *parent = nullptr);
121
122 QQuickDialogButtonBox *buttonBox() const;
123 void setButtonBox(QQuickDialogButtonBox *buttonBox);
124
125 QQuickAbstractButton *eyeDropperButton() const;
126 void setEyeDropperButton(QQuickAbstractButton *eyeDropperButton);
127
128 QQuickAbstractColorPicker *colorPicker() const;
129 void setColorPicker(QQuickAbstractColorPicker *colorPicker);
130
131 QQuickColorInputs *colorInputs() const;
132 void setColorInputs(QQuickColorInputs *colorInputs);
133
134 QQuickSlider *alphaSlider() const;
135 void setAlphaSlider(QQuickSlider *alphaSlider);
137Q_SIGNALS:
138 void buttonBoxChanged();
139 void eyeDropperButtonChanged();
140 void colorPickerChanged();
141 void colorInputsChanged();
142 void alphaSliderChanged();
143
144private:
145 Q_DISABLE_COPY(QQuickColorDialogImplAttached)
146 Q_DECLARE_PRIVATE(QQuickColorDialogImplAttached)
147};
148
149QT_END_NAMESPACE
150
151#endif // QQUICKCOLORDIALOGIMPL_P_H
void eyeDropperLeave(const QPoint &pos, QQuickEyeDropperEventFilter::LeaveReason actionOnLeave)
void handleClick(QQuickAbstractButton *button) override
QQuickColorDialogImplAttached * attachedOrWarn()
void eyeDropperPointerMoved(const QPoint &pos)
bool eventFilter(QObject *obj, QEvent *event) override
Filters events if this object has been installed as an event filter for the watched object.
Combined button and popup list for selecting options.