blob: bc3e25cb4b63a2909f3bce5efb89b6478c1e7e28 (
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
|
#ifndef OPIE_FUNCTION_KEYBOARD_H
#define OPIE_FUNCTION_KEYBOARD_H
#include <qpe/config.h>
#include <qframe.h>
#include <qpainter.h>
#include <qmap.h>
class FKey {
public:
FKey(): qcode(0), unicode(0) {};
FKey(const QString &l, ushort q, ushort u): label(l), qcode(q), unicode(u) {};
QString getL() { return label; }
ushort getQ() { return qcode; }
ushort getU() { return unicode; }
private:
QString label;
ushort qcode;
ushort unicode;
};
class FunctionKeyboard : public QFrame {
Q_OBJECT
public:
FunctionKeyboard(QWidget *parent = 0);
~FunctionKeyboard();
void paintEvent(QPaintEvent *);
void paintKey(int, int);
void mousePressEvent(QMouseEvent*);
void mouseReleaseEvent(QMouseEvent*);
void resizeEvent(QResizeEvent*);
QSize sizeHint() const;
private:
// thie key for the map is the row/col
QMap<QString, FKey> keys;
uint numRows;
uint numCols;
uint keyHeight;
double keyWidth; // decimal point matters!
int pressedRow, pressedCol;
};
#endif
|