BALL
1.4.1
|
00001 #ifndef BALL_VIEW_WIDGETS_COLORBUTTON_H 00002 #define BALL_VIEW_WIDGETS_COLORBUTTON_H 00003 00004 #ifndef BALL_COMMON_GLOBAL_ 00005 # include <BALL/COMMON/global.h> 00006 #endif 00007 00008 #include <QtGui/QPushButton> 00009 #include <QtGui/QColor> 00010 00011 class QPaintEvent; 00012 00013 namespace BALL 00014 { 00015 namespace VIEW 00016 { 00017 class ColorRGBA; 00018 00019 class BALL_VIEW_EXPORT ColorButton : public QPushButton 00020 { 00021 Q_OBJECT 00022 Q_PROPERTY (QColor color_ READ getColor WRITE setColor USER true) 00023 Q_PROPERTY (QColor default_color_ READ getDefaultColor WRITE setDefaultColor) 00024 00025 public: 00026 explicit ColorButton(QWidget* parent); 00027 explicit ColorButton(const QColor& color, QWidget* parent); 00028 explicit ColorButton(const QColor& color, const QColor& default_color, QWidget* parent); 00029 explicit ColorButton(const ColorRGBA& color, QWidget* parent); 00030 explicit ColorButton(const ColorRGBA& color, const ColorRGBA& defaultColor, QWidget* parent); 00031 00032 virtual ~ColorButton(); 00033 00034 void setColor(const QColor& color); 00035 void setColor(const ColorRGBA& color); 00036 const QColor& getColor() const; 00037 00038 void setDefaultColor(const QColor& color); 00039 void setDefaultColor(const ColorRGBA& color); 00040 const QColor& getDefaultColor() const; 00041 00042 void setEnableAlpha(bool enable); 00043 bool isAlphaEnabled() const; 00044 00045 QSize sizeHint() const; 00046 00047 public slots: 00048 void chooseColor(); 00049 00050 signals: 00051 void colorChanged(QColor color); 00052 00053 protected: 00054 QColor color_; 00055 QColor default_color_; 00056 00057 bool enable_alpha_; 00058 00059 virtual void paintEvent(QPaintEvent* evt); 00060 00061 private: 00062 void setup_(); 00063 }; 00064 } 00065 } 00066 00067 #endif //BALL_VIEW_WIDGETS_COLORBUTTON_H