📄 dochandler.h
字号:
virtual void startRef(const QXmlAttributes& attrib); void addTextNode(); private: IBaseHandler *m_parent; QList<DocNode> m_children; MarkupHandler *m_markupHandler;};//-----------------------------------------------------------------------------/* \brief Node representing a simple section with an unnumbered header. * */// children: title, paraclass SimpleSectHandler : public DocNode, public BaseHandler<SimpleSectHandler>{ public: enum Types { Invalid = 0, See, Return, Author, Version, Since, Date, Bug, Note, Warning, Par, Deprecated, Pre, Post, Invar, Remark, Attention, Todo, Test, RCS, EnumValues, Examples }; SimpleSectHandler(IBaseHandler *parent); virtual ~SimpleSectHandler(); virtual void startSimpleSect(const QXmlAttributes& attrib); virtual void endSimpleSect(); virtual void startTitle(const QXmlAttributes& attrib); virtual void startParagraph(const QXmlAttributes& attrib); private: IBaseHandler *m_parent; ParagraphHandler *m_paragraph; Types m_type; TitleHandler *m_title;};//-----------------------------------------------------------------------------/* \brief Node representing an named item of a VariableList. * */class VariableListEntryHandler : public DocNode, public BaseHandler<VariableListEntryHandler>{ public: virtual void startVarListEntry(const QXmlAttributes& attrib); virtual void endVarListEntry(); virtual void startListItem(const QXmlAttributes& attrib); virtual void endListItem(); virtual void startTerm(const QXmlAttributes& attrib); virtual void endTerm(); virtual void startParagraph(const QXmlAttributes& attrib); VariableListEntryHandler(IBaseHandler *parent); virtual ~VariableListEntryHandler(); private: IBaseHandler *m_parent; QString m_term; ParagraphHandler *m_description;};//-----------------------------------------------------------------------------/*! \brief Node representing a list of named items. * */// children: varlistentry, listitemclass VariableListHandler : public DocNode, public BaseHandler<VariableListHandler>{ public: virtual void startVariableList(const QXmlAttributes& attrib); virtual void endVariableList(); virtual void startVarListEntry(const QXmlAttributes& attrib); virtual void startListItem(const QXmlAttributes& attrib); VariableListHandler(IBaseHandler *parent); virtual ~VariableListHandler(); private: IBaseHandler *m_parent; QList<VariableListEntryHandler> m_entries; VariableListEntryHandler *m_curEntry;};//-----------------------------------------------------------------------------/*! \brief Node representing a highlighted text fragment. * */// children: -class HighlightHandler : public DocNode, public BaseHandler<HighlightHandler>{ public: HighlightHandler(IBaseHandler *parent); virtual ~HighlightHandler(); void startHighlight(const QXmlAttributes& attrib); void endHighlight(); private: IBaseHandler *m_parent; QString m_class; QString m_text;};//-----------------------------------------------------------------------------/*! \brief Node representing a line of code. * */// children: linenumber, highlight, anchor, refclass CodeLineHandler : public DocNode, public BaseHandler<CodeLineHandler>{ public: virtual void startCodeLine(const QXmlAttributes&); virtual void endCodeLine(); virtual void startLineNumber(const QXmlAttributes&); virtual void endLineNumber(); virtual void startHighlight(const QXmlAttributes&); virtual void startRef(const QXmlAttributes&); CodeLineHandler(IBaseHandler *parent); virtual ~CodeLineHandler(); private: void addTextNode(); IBaseHandler *m_parent; int m_lineNumber; QString m_refId; QList<DocNode> m_children;};//-----------------------------------------------------------------------------/*! \brief Node representing a program listing * */// children: codeline, linenumberclass ProgramListingHandler : public DocNode, public BaseHandler<ProgramListingHandler>{ public: virtual void startProgramListing(const QXmlAttributes& attrib); virtual void endProgramListing(); virtual void startCodeLine(const QXmlAttributes&); virtual void startLineNumber(const QXmlAttributes&); ProgramListingHandler(IBaseHandler *parent); virtual ~ProgramListingHandler(); private: IBaseHandler *m_parent; QList<CodeLineHandler> m_children; bool m_hasLineNumber;};//-----------------------------------------------------------------------------/*! \brief Node representing a formula. * */// children: -class FormulaHandler : public DocNode, public BaseHandler<FormulaHandler>{ public: FormulaHandler(IBaseHandler *parent); virtual ~FormulaHandler(); void startFormula(const QXmlAttributes& attrib); void endFormula(); private: IBaseHandler *m_parent; QString m_id; QString m_text;};//-----------------------------------------------------------------------------/*! \brief Node representing an image. * */// children: -class ImageHandler : public DocNode, public BaseHandler<ImageHandler>{ public: ImageHandler(IBaseHandler *parent); virtual ~ImageHandler(); void startImage(const QXmlAttributes& attrib); void endImage(); private: IBaseHandler *m_parent; QString m_name; QString m_caption;};//-----------------------------------------------------------------------------/*! \brief Node representing a dot file. * */// children: -class DotFileHandler : public DocNode, public BaseHandler<DotFileHandler>{ public: DotFileHandler(IBaseHandler *parent); virtual ~DotFileHandler(); void startDotFile(const QXmlAttributes& attrib); void endDotFile(); private: IBaseHandler *m_parent; QString m_name; QString m_caption;};//-----------------------------------------------------------------------------/*! \brief Node representing an entry in the index. * */// children: -class IndexEntryHandler : public DocNode, public BaseHandler<IndexEntryHandler>{ public: IndexEntryHandler(IBaseHandler *parent); virtual ~IndexEntryHandler(); void startIndexEntry(const QXmlAttributes& attrib); void endIndexEntry(); void startPrimaryIE(const QXmlAttributes& attrib); void endPrimaryIE(); void startSecondaryIE(const QXmlAttributes& attrib); void endSecondaryIE(); private: IBaseHandler *m_parent; QString m_primary; QString m_secondary;};//-----------------------------------------------------------------------------/*! \brief Node representing an entry in the table entry. * */// children: paraclass EntryHandler : public DocNode, public BaseHandler<EntryHandler>{ public: EntryHandler(IBaseHandler *parent); virtual ~EntryHandler(); void startEntry(const QXmlAttributes& attrib); void endEntry(); void startParagraph(const QXmlAttributes& attrib); private: IBaseHandler *m_parent; QList<DocNode> m_children;};//-----------------------------------------------------------------------------/*! \brief Node representing an entry in the table row. * */// children: entryclass RowHandler : public DocNode, public BaseHandler<RowHandler>{ public: RowHandler(IBaseHandler *parent); virtual ~RowHandler(); void startRow(const QXmlAttributes& attrib); void endRow(); void startEntry(const QXmlAttributes& attrib); private: IBaseHandler *m_parent; QList<EntryHandler> m_children;};//-----------------------------------------------------------------------------/*! \brief Node representing an entry in the table. * */// children: rowclass TableHandler : public DocNode, public BaseHandler<TableHandler>{ public: TableHandler(IBaseHandler *parent); virtual ~TableHandler(); void startTable(const QXmlAttributes& attrib); void endTable(); void startRow(const QXmlAttributes& attrib); private: IBaseHandler *m_parent; QList<RowHandler> m_children; int m_numColumns;};//-----------------------------------------------------------------------------/*! \brief Node representing a paragraph of text and commands. * */// children: itemizedlist, orderedlist, parameterlist, simplesect, ref,// variablelist, hruler, linebreak, ulink, email, link// programlisting, formula, image, dotfile, indexentry,// table//// children handled by MarkupHandler: // bold, computeroutput, emphasis, center,// small, subscript, superscript. //class ParagraphHandler : public DocNode, public BaseHandler<ParagraphHandler>{ public: virtual void startParagraph(const QXmlAttributes& attrib); virtual void endParagraph(); virtual void startItemizedList(const QXmlAttributes& attrib); virtual void startOrderedList(const QXmlAttributes& attrib); virtual void startParameterList(const QXmlAttributes& attrib); virtual void startSimpleSect(const QXmlAttributes& attrib); virtual void startRef(const QXmlAttributes& attrib); virtual void startVariableList(const QXmlAttributes& attrib); virtual void startHRuler(const QXmlAttributes& attrib); virtual void startLineBreak(const QXmlAttributes& attrib); virtual void startULink(const QXmlAttributes& attrib); virtual void startEMail(const QXmlAttributes& attrib); virtual void startLink(const QXmlAttributes& attrib); virtual void startProgramListing(const QXmlAttributes& attrib); virtual void startFormula(const QXmlAttributes& attrib); virtual void startImage(const QXmlAttributes& attrib); virtual void startDotFile(const QXmlAttributes& attrib); virtual void startIndexEntry(const QXmlAttributes& attrib); virtual void startTable(const QXmlAttributes& attrib); ParagraphHandler(IBaseHandler *parent); virtual ~ParagraphHandler(); private: void addTextNode(); IBaseHandler *m_parent; QList<DocNode> m_children; MarkupHandler *m_markupHandler;};//-----------------------------------------------------------------------------/*! \brief Node representing a documentation block. * */// children: para // TODO: title, sect1, sect2, sect3class DocHandler : public BaseHandler<DocHandler>{ public: virtual void startDoc(const QXmlAttributes& attrib); virtual void endDoc(); virtual void startParagraph(const QXmlAttributes& attrib); DocHandler(IBaseHandler *parent); virtual ~DocHandler(); private: IBaseHandler *m_parent; QList<DocNode> m_children;};#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -