summaryrefslogtreecommitdiff
path: root/libopie/colorpopupmenu.h
Unidiff
Diffstat (limited to 'libopie/colorpopupmenu.h') (more/less context) (show whitespace changes)
-rw-r--r--libopie/colorpopupmenu.h77
1 files changed, 77 insertions, 0 deletions
diff --git a/libopie/colorpopupmenu.h b/libopie/colorpopupmenu.h
new file mode 100644
index 0000000..1206ac3
--- a/dev/null
+++ b/libopie/colorpopupmenu.h
@@ -0,0 +1,77 @@
1/**********************************************************************
2** ColorPopupMenu
3**
4** Popup menu for selecting colors
5**
6** Based on colorpanel by S. Prud'homme <prudhomme@laposte.net>
7**
8** Copyright (C) 2002, Dan Williams
9** williamsdr@acm.org
10** http://draknor.net
11**
12** This file may be distributed and/or modified under the terms of the
13** GNU General Public License version 2 as published by the Free Software
14** Foundation and appearing in the file LICENSE.GPL included in the
15** packaging of this file.
16**
17** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
18** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
19**
20**********************************************************************/
21
22#ifndef COLORPOPUPMENU_H
23#define COLORPOPUPMENU_H
24
25#include <qframe.h>
26#include <qpopupmenu.h>
27
28class QWidget;
29class QGridLayout;
30
31class ColorPanelButton : public QFrame
32{
33 Q_OBJECT
34
35public:
36 ColorPanelButton(const QColor& color, QWidget* parent = 0, const char* name = 0);
37 ~ColorPanelButton();
38
39 void setActive(bool active);
40
41 void enterEvent(QEvent* e);
42 void leaveEvent(QEvent* e);
43 void paintEvent(QPaintEvent* e);
44 void mouseReleaseEvent(QMouseEvent* e);
45
46signals:
47 void selected(const QColor&);
48
49private:
50 QColor m_color;
51 bool m_active;
52};
53
54class ColorPopupMenu : public QPopupMenu
55{
56 Q_OBJECT
57
58public:
59 ColorPopupMenu( const QColor& color, QWidget* parent = 0, const char* name = 0 );
60 ~ColorPopupMenu();
61
62private:
63 QColor m_color;
64 QWidget* colorPanel;
65 QGridLayout* colorLayout;
66
67 void addColor( const QColor& color, int row, int col );
68
69signals:
70 void colorSelected( const QColor& color );
71
72protected slots:
73 void buttonSelected( const QColor& color );
74 void moreColorClicked();
75};
76
77#endif // COLORPOPUPMENUANEL_H