21 #ifndef COLORPICKERBUTTON_H
22 #define COLORPICKERBUTTON_H
25 #include <QPushButton>
29 #include "commonWidgets.h"
41 Q_FLAGS(ColorDialogOption ColorDialogOptions)
44 Q_PROPERTY(QColor color READ color WRITE setColor NOTIFY colorChanged USER
true)
48 Q_PROPERTY(QString colorName READ colorName WRITE setColorName NOTIFY colorNameChanged)
53 Q_PROPERTY(
bool displayColorName READ displayColorName WRITE setDisplayColorName DESIGNABLE
true)
58 Q_PROPERTY(ColorDialogOptions dialogOptions READ dialogOptions WRITE setDialogOptions)
60 enum ColorDialogOption {
61 ShowAlphaChannel = 0x00000001,
62 NoButtons = 0x00000002,
63 DontUseNativeDialog = 0x00000004,
64 UseColorDialog = 0x0000000C
66 Q_DECLARE_FLAGS(ColorDialogOptions, ColorDialogOption)
79 explicit
ColorPickerButton(const QColor& color, const QString & text, QWidget* parent = 0 );
90 QString colorName()const;
95 void setColorName(const QString& name);
99 bool displayColorName()const;
104 void setDialogOptions(const ColorDialogOptions& options);
105 const ColorDialogOptions& dialogOptions() const;
110 virtual QSize sizeHint()const;
115 void setColor(const QColor& color);
126 void setDisplayColorName(
bool displayColorName);
131 void colorChanged(QColor);
134 void colorNameChanged(QString);
137 void onToggled(
bool change = true);
140 virtual
void paintEvent(QPaintEvent* event);
144 Q_DECLARE_PRIVATE(ColorPickerButton);
145 Q_DISABLE_COPY(ColorPickerButton);
148 Q_DECLARE_OPERATORS_FOR_FLAGS(ColorPickerButton::ColorDialogOptions)