insilmaril@577: #ifndef XML_H insilmaril@577: #define XML_H insilmaril@577: insilmaril@577: #include "xml-base.h" insilmaril@577: insilmaril@749: class BranchItem; insilmaril@749: insilmaril@577: /*! \brief Parsing VYM maps from XML documents */ insilmaril@577: insilmaril@577: class parseVYMHandler : public parseBaseHandler insilmaril@577: { insilmaril@577: public: insilmaril@577: bool startDocument(); insilmaril@577: bool startElement ( const QString&, const QString&, insilmaril@577: const QString& eName, const QXmlAttributes& atts ); insilmaril@577: bool endElement ( const QString&, const QString&, const QString& ); insilmaril@577: bool characters ( const QString&); insilmaril@577: QString errorString(); insilmaril@577: bool readBranchAttr (const QXmlAttributes&); insilmaril@577: bool readFrameAttr (const QXmlAttributes&); insilmaril@577: bool readOOAttr (const QXmlAttributes&); insilmaril@577: bool readNoteAttr (const QXmlAttributes&); insilmaril@776: bool readImageAttr (const QXmlAttributes&); insilmaril@577: bool readXLinkAttr (const QXmlAttributes&); insilmaril@577: bool readHtmlAttr (const QXmlAttributes&); insilmaril@577: bool readSettingAttr (const QXmlAttributes&); insilmaril@577: insilmaril@577: private: insilmaril@577: enum State insilmaril@577: { insilmaril@577: StateInit, insilmaril@577: StateMap, insilmaril@577: StateMapSelect, insilmaril@577: StateMapSetting, insilmaril@577: StateMapCenter, insilmaril@577: StateBranch, insilmaril@577: StateBranchXLink, // insilmaril@577: StateHtmlNote, insilmaril@577: StateHtml, insilmaril@577: StateFrame, insilmaril@577: StateStandardFlag, insilmaril@577: StateNote, insilmaril@776: StateImage, insilmaril@577: StateHeading insilmaril@577: }; insilmaril@577: insilmaril@742: int branchesCurrent; insilmaril@742: int branchesTotal; insilmaril@577: insilmaril@577: State state; insilmaril@577: State laststate; insilmaril@577: QList stateStack; insilmaril@577: QString htmldata; insilmaril@577: NoteObj no; insilmaril@749: insilmaril@776: BranchItem* lastBranch; insilmaril@776: ImageItem* lastImage; insilmaril@577: }; insilmaril@577: #endif