summaryrefslogtreecommitdiff
path: root/src/levelhandler.h
blob: 2ba0de3691bf29575c8724da8b4e175a159c2f1a (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
// LevelHandler
//  Keeps track of levels (braces) in the RTF file.
//

#ifndef __LEVELHANDLER_H__
#define __LEVELHANDLER_H__

#include "rtfreader.h"
#include "basehandler.h"
#include "rtfparsehelpers.h"
#include "reference.h"

class LevelHandler
	: public BaseHandler
{
public:
	LevelHandler();
	virtual ~LevelHandler();

	virtual void startDocument(RtfReader* reader);
	virtual void endDocument();
	virtual void groupStart();
	virtual void groupEnd();

	virtual DOM::Element getElement();

	void pushLevel();
	void popLevel();
	void rewindLevel(LevelPtr ptr);
	LevelPtr getLevel();


protected:
	virtual void clear();

	LevelPtr m_topLevel;
	LevelPtr m_curLevel;
};


#endif // __LEVELHANDLER_H__