BALL  1.4.1
colorButton.h
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines