xml-freemind.h
author insilmaril
Mon, 30 Jul 2007 09:47:12 +0000
changeset 573 af451f0e5fbb
parent 566 ebebedffba50
child 575 4b935d7e1671
permissions -rw-r--r--
1.9.4 New base class for XML based file parsing (vym & Freemind)
insilmaril@566
     1
#ifndef XML_FREEMIND_H
insilmaril@566
     2
#define XML_FREEMIND_H
insilmaril@566
     3
insilmaril@566
     4
insilmaril@566
     5
#include <QString>
insilmaril@566
     6
#include <QXmlAttributes>
insilmaril@566
     7
insilmaril@566
     8
#include "file.h"
insilmaril@566
     9
#include "mapcenterobj.h"
insilmaril@566
    10
#include "mapeditor.h"
insilmaril@566
    11
insilmaril@566
    12
insilmaril@566
    13
class parseFMHandler  : public QXmlDefaultHandler
insilmaril@566
    14
{
insilmaril@566
    15
public:
insilmaril@566
    16
	parseFMHandler();
insilmaril@566
    17
	~parseFMHandler();
insilmaril@566
    18
	QString errorProtocol();
insilmaril@566
    19
	bool startDocument();
insilmaril@566
    20
	QString parseHREF(QString);
insilmaril@566
    21
	bool startElement ( const QString&, const QString&,
insilmaril@566
    22
                        const QString& eName, const QXmlAttributes& atts ); 
insilmaril@566
    23
	bool   endElement ( const QString&, const QString&, const QString& ); 
insilmaril@566
    24
	bool characters   ( const QString&);
insilmaril@566
    25
	QString errorString();
insilmaril@566
    26
	bool fatalError( const QXmlParseException&);
insilmaril@566
    27
	void setMapEditor (MapEditor*);
insilmaril@566
    28
	void setTmpDir (QString);
insilmaril@566
    29
	void setInputFile (QString);
insilmaril@566
    30
	void setLoadMode (const LoadMode &);
insilmaril@566
    31
	bool readNodeAttr (const QXmlAttributes&);
insilmaril@566
    32
insilmaril@566
    33
private:
insilmaril@566
    34
	QString     errorProt;
insilmaril@566
    35
	enum State 
insilmaril@566
    36
	{ 
insilmaril@566
    37
		StateInit, 
insilmaril@566
    38
		StateMap, 
insilmaril@566
    39
		StateNode, 
insilmaril@566
    40
		StateCloud,
insilmaril@566
    41
		StateEdge, 
insilmaril@566
    42
		StateIcon, 
insilmaril@566
    43
		StateFont,
insilmaril@566
    44
		StateArrowLink,
insilmaril@566
    45
		StateHook,
insilmaril@566
    46
		StateText
insilmaril@566
    47
	 };
insilmaril@566
    48
				 
insilmaril@566
    49
insilmaril@566
    50
	LoadMode loadMode;
insilmaril@566
    51
	bool isVymPart;
insilmaril@566
    52
	State state;			 
insilmaril@566
    53
	State laststate;
insilmaril@566
    54
	QList <State> stateStack;
insilmaril@566
    55
	QString htmldata;
insilmaril@566
    56
	int branchDepth; 
insilmaril@566
    57
	NoteObj no;
insilmaril@566
    58
	MapCenterObj* mc;
insilmaril@566
    59
	MapEditor* me; 
insilmaril@566
    60
	QString tmpDir; 
insilmaril@566
    61
	QString inputFile;
insilmaril@566
    62
}; 
insilmaril@566
    63
#endif