kdeui
kcolorbutton.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __COLBTN_H__
00021 #define __COLBTN_H__
00022
00023 #include <qpushbutton.h>
00024
00025 #include <kdelibs_export.h>
00026
00027 class KColorButtonPrivate;
00037 class KDEUI_EXPORT KColorButton : public QPushButton
00038 {
00039 Q_OBJECT
00040 Q_PROPERTY( QColor color READ color WRITE setColor )
00041 Q_PROPERTY( QColor defaultColor READ defaultColor WRITE setDefaultColor )
00042
00043 public:
00047 KColorButton( QWidget *parent, const char *name = 0L );
00048
00052 KColorButton( const QColor &c, QWidget *parent, const char *name = 0L );
00054 KColorButton( const QColor &c, const QColor &defaultColor, QWidget *parent,
00055 const char *name=0L );
00056
00057 virtual ~KColorButton();
00058
00062 QColor color() const
00063 { return col; }
00064
00068 void setColor( const QColor &c );
00069
00075 QColor defaultColor() const;
00076
00081 void setDefaultColor( const QColor &c );
00082
00083 QSize sizeHint() const;
00084
00085 signals:
00090 void changed( const QColor &newColor );
00091
00092 protected slots:
00093 void chooseColor();
00094
00095 protected:
00096 virtual void drawButtonLabel( QPainter *p );
00097 virtual void dragEnterEvent( QDragEnterEvent *);
00098 virtual void dropEvent( QDropEvent *);
00099 virtual void mousePressEvent( QMouseEvent *e );
00100 virtual void mouseMoveEvent( QMouseEvent *e);
00101 virtual void keyPressEvent( QKeyEvent *e );
00102 private:
00103 QColor col;
00104 QPoint mPos;
00105 bool dragFlag;
00106
00107 protected:
00108 virtual void virtual_hook( int id, void* data );
00109 private:
00110 class KColorButtonPrivate;
00111 KColorButtonPrivate *d;
00112 };
00113
00114 #endif
00115