00001
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 <tqcombobox.h>
00025 #include "colourlist.h"
00026
00027
00043 class ColourCombo : public TQComboBox
00044 {
00045 Q_OBJECT
00046 TQ_OBJECT
00047 TQ_PROPERTY(TQColor color READ color WRITE setColor)
00048 public:
00054 explicit ColourCombo(TQWidget* parent = 0, const char* name = 0, const TQColor& defaultColour = 0xFFFFFF);
00056 TQColor color() const { return mSelectedColour; }
00058 TQColor colour() const { return mSelectedColour; }
00060 void setColor(const TQColor& c) { setColour(c); }
00062 void setColour(const TQColor& c);
00064 void setColours(const ColourList& list);
00066 bool isCustomColour() const { return !currentItem(); }
00068 bool isReadOnly() const { return mReadOnly; }
00072 virtual void setReadOnly(bool readOnly);
00073 signals:
00075 void activated(const TQColor&);
00077 void highlighted(const TQColor&);
00078 public slots:
00080 virtual void setEnabled(bool enabled);
00081 protected:
00082 virtual void resizeEvent(TQResizeEvent*);
00083 virtual void mousePressEvent(TQMouseEvent*);
00084 virtual void mouseReleaseEvent(TQMouseEvent*);
00085 virtual void mouseMoveEvent(TQMouseEvent*);
00086 virtual void keyPressEvent(TQKeyEvent*);
00087 virtual void keyReleaseEvent(TQKeyEvent*);
00088 private slots:
00089 void slotActivated(int index);
00090 void slotHighlighted(int index);
00091 void slotPreferencesChanged();
00092 private:
00093 void addColours();
00094 void drawCustomItem(TQRect&, bool insert);
00095
00096 ColourList mColourList;
00097 TQColor mSelectedColour;
00098 TQColor mCustomColour;
00099 bool mReadOnly;
00100 bool mDisabled;
00101 };
00102
00103 #endif // COLOURCOMBO_H