00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #ifndef OCOLORPOPUPMENU_H
00034 #define OCOLORPOPUPMENU_H
00035
00036
00037
00038 #include <qframe.h>
00039 #include <qpopupmenu.h>
00040
00041 class QWidget;
00042 class QGridLayout;
00043
00044 namespace Opie
00045 {
00046
00057 class OColorPanelButton : public QFrame
00058 {
00059 Q_OBJECT
00060
00061 public:
00062
00073 OColorPanelButton(const QColor& color, QWidget* parent = 0, const char* name = 0);
00074
00079 ~OColorPanelButton();
00080
00090 void setActive(bool active);
00091
00101 void enterEvent(QEvent* e);
00102
00112 void leaveEvent(QEvent* e);
00113
00122 void paintEvent(QPaintEvent* e);
00123
00135 void mouseReleaseEvent(QMouseEvent* e);
00136
00137 signals:
00138
00148 void selected(const QColor&);
00149
00150 private:
00151 QColor m_color;
00152 bool m_active : 1;
00153 class ColorPanelButtonPrivate;
00154 ColorPanelButtonPrivate *d;
00155 };
00156
00170 class OColorPopupMenu : public QPopupMenu
00171 {
00172 Q_OBJECT
00173
00174 public:
00175
00186
00187 OColorPopupMenu( const QColor& color, QWidget* parent = 0, const char* name = 0 );
00188
00193 ~OColorPopupMenu();
00194
00195 private:
00196 class ColorPopupMenuPrivate;
00197 ColorPopupMenuPrivate *d;
00198 QColor m_color;
00199 QWidget* colorPanel;
00200 QGridLayout* colorLayout;
00201
00213 void addColor( const QColor& color, int row, int col );
00214
00215 signals:
00216
00226 void colorSelected( const QColor& color );
00227
00228 protected slots:
00229
00243 void buttonSelected( const QColor& color );
00244
00257 void moreColorClicked();
00258 };
00259
00260 };
00261
00262 #endif // COLORPOPUPMENUANEL_H