summaryrefslogtreecommitdiff
path: root/libslcompat/slcolorselector.h
blob: e1ee1f26290df1f5254ec9bd4b099c80e1ed25df (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
/*
 * Copyright (C) 2002 SHARP CORPORATION All rights reserved.
 */
#ifndef _SLCOLORSELECTOR_H_INCLUDED
#define _SLCOLORSELECTOR_H_INCLUDED

#include <opie2/ocolorpopupmenu.h>
using namespace Opie;
#include <qtableview.h>
#include <qpopupmenu.h>
#include <qvbox.h>

#define DEF_COLOR_R (6)
#define DEF_COLOR_C (8)
struct SlColorTablePrivate;
class SlColorTable : public QTableView
{
	Q_OBJECT
public:
	SlColorTable(QWidget *parent=0,const char *name=NULL,WFlags f=0,
				 int r=DEF_COLOR_R,int c=DEF_COLOR_C,const QRgb *a=NULL);
	~SlColorTable();
	void setCurrentColor(QRgb);

protected:
	QSize sizeHint() const;
	void paintCell(QPainter*,int,int);
	void mousePressEvent(QMouseEvent*);
	void mouseMoveEvent(QMouseEvent*);
	void mouseReleaseEvent(QMouseEvent*);
	void keyPressEvent(QKeyEvent*);

signals:


	void selected(QRgb rgb);


	void reSelected(QRgb rgb);

private:
	SlColorTablePrivate *p;
	void setCurrent(int,int);
	void setSelected(int,int);
	QRgb getRgbInCell(int,int);
};


struct SlColorSelectorPrivate;
class SlColorSelector : public QVBox
{
	Q_OBJECT
public:
	SlColorSelector(bool isTransparentAccept,
					QWidget *parent=0,const char *name=NULL,WFlags f=0);
	~SlColorSelector();
	void setCurrentColor(QRgb);
	void setCurrentColorTransparent();

signals:


	void selected(QRgb rgb);


	void reSelected(QRgb rgb);


	void transparentSelected();


	void transparentReSelected();
/*
private slots:
	void slotTransparentToggled(int);
*/
private:
	SlColorSelectorPrivate *p;
};

struct SlColorSelectorPopupPrivate;
class SlColorSelectorPopup : public OColorPopupMenu //QPopupMenu
{
	Q_OBJECT
public:
	SlColorSelectorPopup(bool isTransparentAccept,
						 QWidget *parent=0,const char *name=NULL,WFlags f=0);
	~SlColorSelectorPopup();
	void setCurrentColor(QRgb);
	void setCurrentColorTransparent();

signals:


	void selected(QRgb rgb);


	void transparentSelected();
/*
private slots:
	void slotSelected(QRgb);
	void slotReSelected(QRgb);
	void slotTransparentSelected();
	void slotTransparentReSelected();
*/
private:
	SlColorSelectorPopupPrivate *p;
};

#endif