summaryrefslogtreecommitdiff
path: root/noncore/apps/keyz-cfg/zkbxml.h
blob: 2b15cbb4ed62787dba528957307747001e7823c9 (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
#ifndef ZKBXML_H
#define ZKBXML_H

#include <qxml.h>

class ZkbXmlHandler : public QXmlDefaultHandler {
public:
	ZkbXmlHandler();
	virtual ~ZkbXmlHandler();

	virtual bool startElement(const QString&, const QString&, 
		const QString& name, const QXmlAttributes& attr);

	virtual bool endElement(const QString&, const QString&, 
		const QString& name);

	virtual QString errorString();

protected:
	QString err;
	QStringList elements;

	virtual bool startKeymapElement(int ardelay, int arperiod, 
		const QString& author);
	virtual bool startIncludeElement(const QString& file, 
		const QString& prfix);
	virtual bool startLabelElement(const QString& label, 
		const QString& state);
	virtual bool startStateElement(const QString& name, 
		const QString& parent, bool dflt);
	virtual bool startMapElement(int key, bool pressed);
	virtual bool startEventElement(int keycode, int unicode, int modifiers,
		bool pressed, bool autorepeat);
	virtual bool startNextStateElement(const QString& state);

	virtual bool endKeymapElement();
	virtual bool endIncludeElement();
	virtual bool endLabelElement();
	virtual bool endStateElement();
	virtual bool endMapElement();
	virtual bool endEventElement();
	virtual bool endNextStateElement();

	bool start_keymap(const QXmlAttributes&);
	bool start_include(const QXmlAttributes&);
	bool start_label(const QXmlAttributes&);
	bool start_state(const QXmlAttributes&);
	bool start_map(const QXmlAttributes&);
	bool start_event(const QXmlAttributes&);
	bool start_next_state(const QXmlAttributes&);
	bool end_keymap();
	bool end_include();
	bool end_label();
	bool end_state();
	bool end_map();
	bool end_event();
	bool end_next_state();

	void setError(const QString&);
	int str2key(const QString&);
	int str2modifier(const QString&);
	bool str2bool(const QString&);
	int str2unicode(const QString&);
	int str2keycode(const QString&);
	int str2uint(const QString&);
};

#endif