kalarm/lib
colourcombo.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef COLOURCOMBO_H
00022 #define COLOURCOMBO_H
00023
00024 #include <qcombobox.h>
00025 #include "colourlist.h"
00026
00027
00043 class ColourCombo : public QComboBox
00044 {
00045 Q_OBJECT
00046 Q_PROPERTY(QColor color READ color WRITE setColor)
00047 public:
00053 ColourCombo(QWidget* parent = 0, const char* name = 0, const QColor& defaultColour = 0xFFFFFF);
00055 QColor color() const { return mSelectedColour; }
00057 QColor colour() const { return mSelectedColour; }
00059 void setColor(const QColor& c) { setColour(c); }
00061 void setColour(const QColor& c);
00063 void setColours(const ColourList& list);
00065 bool isCustomColour() const { return !currentItem(); }
00067 bool isReadOnly() const { return mReadOnly; }
00071 virtual void setReadOnly(bool readOnly);
00072 signals:
00074 void activated(const QColor&);
00076 void highlighted(const QColor&);
00077 public slots:
00079 virtual void setEnabled(bool enabled);
00080 protected:
00081 virtual void resizeEvent(QResizeEvent*);
00082 virtual void mousePressEvent(QMouseEvent*);
00083 virtual void mouseReleaseEvent(QMouseEvent*);
00084 virtual void mouseMoveEvent(QMouseEvent*);
00085 virtual void keyPressEvent(QKeyEvent*);
00086 virtual void keyReleaseEvent(QKeyEvent*);
00087 private slots:
00088 void slotActivated(int index);
00089 void slotHighlighted(int index);
00090 void slotPreferencesChanged();
00091 private:
00092 void addColours();
00093 void drawCustomItem(QRect&, bool insert);
00094
00095 ColourList mColourList;
00096 QColor mSelectedColour;
00097 QColor mCustomColour;
00098 bool mReadOnly;
00099 bool mDisabled;
00100 };
00101
00102 #endif // COLOURCOMBO_H
|