aboutsummaryrefslogtreecommitdiffstats
path: root/src/quickdialogs/quickdialogsquickimpl/qquickcolordialogimpl_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/quickdialogs/quickdialogsquickimpl/qquickcolordialogimpl_p.h')
-rw-r--r--src/quickdialogs/quickdialogsquickimpl/qquickcolordialogimpl_p.h148
1 files changed, 148 insertions, 0 deletions
diff --git a/src/quickdialogs/quickdialogsquickimpl/qquickcolordialogimpl_p.h b/src/quickdialogs/quickdialogsquickimpl/qquickcolordialogimpl_p.h
new file mode 100644
index 0000000000..a714047c84
--- /dev/null
+++ b/src/quickdialogs/quickdialogsquickimpl/qquickcolordialogimpl_p.h
@@ -0,0 +1,148 @@
+// Copyright (C) 2022 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#ifndef QQUICKCOLORDIALOGIMPL_P_H
+#define QQUICKCOLORDIALOGIMPL_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtQuickTemplates2/private/qquickdialog_p.h>
+
+#include "qtquickdialogs2quickimplglobal_p.h"
+
+QT_BEGIN_NAMESPACE
+
+class QQuickDialogButtonBox;
+class QQuickAbstractColorPicker;
+class QQuickColorInputs;
+class QQuickSlider;
+
+class QQuickColorDialogImplAttached;
+class QQuickColorDialogImplAttachedPrivate;
+class QQuickColorDialogImplPrivate;
+
+class Q_QUICKDIALOGS2QUICKIMPL_EXPORT QQuickColorDialogImpl : public QQuickDialog
+{
+ Q_OBJECT
+ Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged)
+ Q_PROPERTY(qreal hue READ hue WRITE setHue NOTIFY colorChanged)
+ Q_PROPERTY(qreal saturation READ saturation WRITE setSaturation NOTIFY colorChanged)
+ Q_PROPERTY(qreal value READ value WRITE setValue NOTIFY colorChanged)
+ Q_PROPERTY(qreal lightness READ lightness WRITE setLightness NOTIFY colorChanged)
+ Q_PROPERTY(qreal alpha READ alpha WRITE setAlpha NOTIFY colorChanged FINAL)
+ Q_PROPERTY(int red READ red WRITE setRed NOTIFY colorChanged FINAL)
+ Q_PROPERTY(int green READ green WRITE setGreen NOTIFY colorChanged FINAL)
+ Q_PROPERTY(int blue READ blue WRITE setBlue NOTIFY colorChanged FINAL)
+ Q_PROPERTY(bool isHsl READ isHsl WRITE setHsl NOTIFY specChanged FINAL)
+ QML_NAMED_ELEMENT(ColorDialogImpl)
+ QML_ATTACHED(QQuickColorDialogImplAttached)
+ QML_ADDED_IN_VERSION(6, 4)
+
+public:
+ explicit QQuickColorDialogImpl(QObject *parent = nullptr);
+
+ static QQuickColorDialogImplAttached *qmlAttachedProperties(QObject *object);
+
+ QSharedPointer<QColorDialogOptions> options() const;
+ void setOptions(const QSharedPointer<QColorDialogOptions> &options);
+
+ QColor color() const;
+ void setColor(const QColor &c);
+
+ int red() const;
+ void setRed(int red);
+
+ int green() const;
+ void setGreen(int green);
+
+ int blue() const;
+ void setBlue(int blue);
+
+ qreal alpha() const;
+ void setAlpha(qreal alpha);
+
+ qreal hue() const;
+ void setHue(qreal hue);
+
+ qreal saturation() const;
+ void setSaturation(qreal saturation);
+
+ qreal value() const;
+ void setValue(qreal value);
+
+ qreal lightness() const;
+ void setLightness(qreal lightness);
+
+ bool isHsl() const;
+ void setHsl(bool hsl);
+
+ Q_INVOKABLE void invokeEyeDropper();
+
+Q_SIGNALS:
+ void colorChanged(const QColor &color);
+ void specChanged();
+
+private:
+ Q_DISABLE_COPY(QQuickColorDialogImpl)
+ Q_DECLARE_PRIVATE(QQuickColorDialogImpl)
+};
+
+class Q_QUICKDIALOGS2QUICKIMPL_EXPORT QQuickColorDialogImplAttached : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(QQuickDialogButtonBox *buttonBox READ buttonBox WRITE setButtonBox NOTIFY buttonBoxChanged FINAL)
+ Q_PROPERTY(QQuickAbstractButton *eyeDropperButton READ eyeDropperButton WRITE setEyeDropperButton NOTIFY eyeDropperButtonChanged FINAL)
+ Q_PROPERTY(QQuickAbstractColorPicker *colorPicker READ colorPicker WRITE setColorPicker NOTIFY
+ colorPickerChanged FINAL)
+ Q_PROPERTY(QQuickColorInputs *colorInputs READ colorInputs WRITE setColorInputs NOTIFY
+ colorInputsChanged FINAL)
+ Q_PROPERTY(QQuickSlider *alphaSlider READ alphaSlider WRITE setAlphaSlider NOTIFY
+ alphaSliderChanged FINAL)
+ Q_MOC_INCLUDE(<QtQuickTemplates2/private/qquickdialogbuttonbox_p.h>)
+ Q_MOC_INCLUDE(<QtQuickTemplates2/private/qquickabstractbutton_p.h>)
+ Q_MOC_INCLUDE(<QtQuickTemplates2/private/qquickslider_p.h>)
+ Q_MOC_INCLUDE("qquickabstractcolorpicker_p.h")
+ Q_MOC_INCLUDE("qquickcolorinputs_p.h")
+
+public:
+ explicit QQuickColorDialogImplAttached(QObject *parent = nullptr);
+
+ QQuickDialogButtonBox *buttonBox() const;
+ void setButtonBox(QQuickDialogButtonBox *buttonBox);
+
+ QQuickAbstractButton *eyeDropperButton() const;
+ void setEyeDropperButton(QQuickAbstractButton *eyeDropperButton);
+
+ QQuickAbstractColorPicker *colorPicker() const;
+ void setColorPicker(QQuickAbstractColorPicker *colorPicker);
+
+ QQuickColorInputs *colorInputs() const;
+ void setColorInputs(QQuickColorInputs *colorInputs);
+
+ QQuickSlider *alphaSlider() const;
+ void setAlphaSlider(QQuickSlider *alphaSlider);
+
+Q_SIGNALS:
+ void buttonBoxChanged();
+ void eyeDropperButtonChanged();
+ void colorPickerChanged();
+ void colorInputsChanged();
+ void alphaSliderChanged();
+
+private:
+ Q_DISABLE_COPY(QQuickColorDialogImplAttached)
+ Q_DECLARE_PRIVATE(QQuickColorDialogImplAttached)
+};
+
+QT_END_NAMESPACE
+
+#endif // QQUICKCOLORDIALOGIMPL_P_H