// Copyright (C) 2016 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 QTGRADIENTEDITOR_H #define QTGRADIENTEDITOR_H #include QT_BEGIN_NAMESPACE class QtGradientEditor : public QWidget { Q_OBJECT Q_PROPERTY(QGradient gradient READ gradient WRITE setGradient) Q_PROPERTY(bool backgroundCheckered READ isBackgroundCheckered WRITE setBackgroundCheckered) Q_PROPERTY(bool detailsVisible READ detailsVisible WRITE setDetailsVisible) Q_PROPERTY(bool detailsButtonVisible READ isDetailsButtonVisible WRITE setDetailsButtonVisible) public: QtGradientEditor(QWidget *parent = 0); ~QtGradientEditor(); void setGradient(const QGradient &gradient); QGradient gradient() const; bool isBackgroundCheckered() const; void setBackgroundCheckered(bool checkered); bool detailsVisible() const; void setDetailsVisible(bool visible); bool isDetailsButtonVisible() const; void setDetailsButtonVisible(bool visible); QColor::Spec spec() const; void setSpec(QColor::Spec spec); signals: void gradientChanged(const QGradient &gradient); void aboutToShowDetails(bool details, int extenstionWidthHint); private: QScopedPointer d_ptr; Q_DECLARE_PRIVATE(QtGradientEditor) Q_DISABLE_COPY_MOVE(QtGradientEditor) }; QT_END_NAMESPACE #endif