diff options
Diffstat (limited to 'src/quickdialogs/quickdialogsquickimpl/qquickcolordialogimpl_p.h')
-rw-r--r-- | src/quickdialogs/quickdialogsquickimpl/qquickcolordialogimpl_p.h | 148 |
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 |