kalarm/lib

colourcombo.h
1/*
2 * colourcombo.h - colour selection combo box
3 * Program: kalarm
4 * Copyright © 2001-2003,2005,2006 by David Jarvie <software@astrojar.org.uk>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License along
17 * with this program; if not, write to the Free Software Foundation, Inc.,
18 * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
19 */
20
21#ifndef COLOURCOMBO_H
22#define COLOURCOMBO_H
23
24#include <tqcombobox.h>
25#include "colourlist.h"
26
27
43class ColourCombo : public TQComboBox
44{
45 TQ_OBJECT
46
47 TQ_PROPERTY(TQColor color READ color WRITE setColor)
48 public:
54 explicit ColourCombo(TQWidget* parent = 0, const char* name = 0, const TQColor& defaultColour = 0xFFFFFF);
56 TQColor color() const { return mSelectedColour; }
58 TQColor colour() const { return mSelectedColour; }
60 void setColor(const TQColor& c) { setColour(c); }
62 void setColour(const TQColor& c);
64 void setColours(const ColourList& list);
66 bool isCustomColour() const { return !currentItem(); }
68 bool isReadOnly() const { return mReadOnly; }
72 virtual void setReadOnly(bool readOnly);
73 signals:
75 void activated(const TQColor&); // a new colour box has been selected
77 void highlighted(const TQColor&); // a new item has been highlighted
78 public slots:
80 virtual void setEnabled(bool enabled);
81 protected:
82 virtual void resizeEvent(TQResizeEvent*);
83 virtual void mousePressEvent(TQMouseEvent*);
84 virtual void mouseReleaseEvent(TQMouseEvent*);
85 virtual void mouseMoveEvent(TQMouseEvent*);
86 virtual void keyPressEvent(TQKeyEvent*);
87 virtual void keyReleaseEvent(TQKeyEvent*);
88 private slots:
89 void slotActivated(int index);
90 void slotHighlighted(int index);
91 void slotPreferencesChanged();
92 private:
93 void addColours();
94 void drawCustomItem(TQRect&, bool insert);
95
96 ColourList mColourList; // the sorted colours to display
97 TQColor mSelectedColour; // currently selected colour
98 TQColor mCustomColour; // current colour of the Custom item
99 bool mReadOnly; // value cannot be changed
100 bool mDisabled;
101};
102
103#endif // COLOURCOMBO_H
A colour selection combo box whose colour list can be specified.
Definition colourcombo.h:44
void activated(const TQColor &)
Signal emitted when a new colour has been selected.
bool isCustomColour() const
Returns true if the first entry in the list, i.e.
Definition colourcombo.h:66
void setColours(const ColourList &list)
Initialises the list of colours to list.
TQColor colour() const
Returns the selected colour.
Definition colourcombo.h:58
void setColor(const TQColor &c)
Sets the selected colour to c.
Definition colourcombo.h:60
TQColor color() const
Returns the selected colour.
Definition colourcombo.h:56
virtual void setEnabled(bool enabled)
Enables or disables the widget.
virtual void setReadOnly(bool readOnly)
Sets whether the combo box can be changed by the user.
bool isReadOnly() const
Returns true if the widget is read only.
Definition colourcombo.h:68
void highlighted(const TQColor &)
Signal emitted when a new colour has been highlighted.
void setColour(const TQColor &c)
Sets the selected colour to c.
Represents a sorted list of colours.
Definition colourlist.h:40