insilmaril@407: #ifndef XML_H insilmaril@407: #define XML_H insilmaril@0: insilmaril@0: insilmaril@407: #include insilmaril@407: #include insilmaril@0: insilmaril@169: #include "file.h" insilmaril@0: #include "mapcenterobj.h" insilmaril@0: #include "mapeditor.h" insilmaril@0: insilmaril@0: insilmaril@0: class mapBuilderHandler : public QXmlDefaultHandler insilmaril@0: { insilmaril@0: public: insilmaril@0: mapBuilderHandler(); insilmaril@0: ~mapBuilderHandler(); insilmaril@0: QString errorProtocol(); insilmaril@0: bool startDocument(); insilmaril@166: QString parseHREF(QString); insilmaril@0: bool startElement ( const QString&, const QString&, insilmaril@0: const QString& eName, const QXmlAttributes& atts ); insilmaril@0: bool endElement ( const QString&, const QString&, const QString& ); insilmaril@0: bool characters ( const QString&); insilmaril@0: QString errorString(); insilmaril@0: bool fatalError( const QXmlParseException&); insilmaril@0: void setMapEditor (MapEditor*); insilmaril@0: void setTmpDir (QString); insilmaril@239: void setInputFile (QString); insilmaril@0: void setLoadMode (const LoadMode &); insilmaril@0: bool readBranchAttr (const QXmlAttributes&); insilmaril@421: bool readFrameAttr (const QXmlAttributes&); insilmaril@247: bool readOOAttr (const QXmlAttributes&); insilmaril@0: bool readNoteAttr (const QXmlAttributes&); insilmaril@0: bool readFloatImageAttr (const QXmlAttributes&); insilmaril@95: bool readXLinkAttr (const QXmlAttributes&); insilmaril@0: bool readHtmlAttr (const QXmlAttributes&); insilmaril@0: bool readSettingAttr (const QXmlAttributes&); insilmaril@0: insilmaril@0: private: insilmaril@0: QString errorProt; insilmaril@0: enum State insilmaril@0: { insilmaril@421: StateInit, insilmaril@421: StateMap, insilmaril@421: StateMapSelect, insilmaril@0: StateMapSetting, insilmaril@421: StateMapCenter, insilmaril@421: StateBranch, insilmaril@421: StateBranchXLink, // insilmaril@421: StateHtmlNote, insilmaril@421: StateHtml, insilmaril@421: StateFrame, insilmaril@421: StateStandardFlag, insilmaril@421: StateNote, insilmaril@166: StateFloatImage, insilmaril@421: StateHeading insilmaril@0: }; insilmaril@0: insilmaril@0: insilmaril@0: LoadMode loadMode; insilmaril@0: bool isVymPart; insilmaril@0: State state; insilmaril@0: State laststate; insilmaril@421: QList stateStack; insilmaril@0: QString htmldata; insilmaril@0: int branchDepth; insilmaril@0: NoteObj no; insilmaril@0: MapCenterObj* mc; insilmaril@239: MapEditor* me; insilmaril@239: QString tmpDir; insilmaril@239: QString inputFile; insilmaril@0: }; insilmaril@0: #endif