summaryrefslogtreecommitdiff
path: root/libopie/colorpopupmenu.h
authordrw <drw>2002-04-25 23:32:41 (UTC)
committer drw <drw>2002-04-25 23:32:41 (UTC)
commit5198d98daeaa1e8eb8568ccd3c516ab70fbed512 (patch) (side-by-side diff)
tree6497c9b06c980a4954068da9cac1785978783404 /libopie/colorpopupmenu.h
parent054b0f3268189d6f8f06135960042a7f51117223 (diff)
downloadopie-5198d98daeaa1e8eb8568ccd3c516ab70fbed512.zip
opie-5198d98daeaa1e8eb8568ccd3c516ab70fbed512.tar.gz
opie-5198d98daeaa1e8eb8568ccd3c516ab70fbed512.tar.bz2
Add ColorPopupMenu and ColorDialog
Diffstat (limited to 'libopie/colorpopupmenu.h') (more/less context) (ignore 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 @@
+/**********************************************************************
+** ColorPopupMenu
+**
+** Popup menu for selecting colors
+**
+** Based on colorpanel by S. Prud'homme <prudhomme@laposte.net>
+**
+** Copyright (C) 2002, Dan Williams
+** williamsdr@acm.org
+** http://draknor.net
+**
+** This file may be distributed and/or modified under the terms of the
+** GNU General Public License version 2 as published by the Free Software
+** Foundation and appearing in the file LICENSE.GPL included in the
+** packaging of this file.
+**
+** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
+** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+**
+**********************************************************************/
+
+#ifndef COLORPOPUPMENU_H
+#define COLORPOPUPMENU_H
+
+#include <qframe.h>
+#include <qpopupmenu.h>
+
+class QWidget;
+class QGridLayout;
+
+class ColorPanelButton : public QFrame
+{
+ Q_OBJECT
+
+public:
+ ColorPanelButton(const QColor& color, QWidget* parent = 0, const char* name = 0);
+ ~ColorPanelButton();
+
+ void setActive(bool active);
+
+ void enterEvent(QEvent* e);
+ void leaveEvent(QEvent* e);
+ void paintEvent(QPaintEvent* e);
+ void mouseReleaseEvent(QMouseEvent* e);
+
+signals:
+ void selected(const QColor&);
+
+private:
+ QColor m_color;
+ bool m_active;
+};
+
+class ColorPopupMenu : public QPopupMenu
+{
+ Q_OBJECT
+
+public:
+ ColorPopupMenu( const QColor& color, QWidget* parent = 0, const char* name = 0 );
+ ~ColorPopupMenu();
+
+private:
+ QColor m_color;
+ QWidget* colorPanel;
+ QGridLayout* colorLayout;
+
+ void addColor( const QColor& color, int row, int col );
+
+signals:
+ void colorSelected( const QColor& color );
+
+protected slots:
+ void buttonSelected( const QColor& color );
+ void moreColorClicked();
+};
+
+#endif // COLORPOPUPMENUANEL_H