diff options
Diffstat (limited to 'src/docparser.h')
-rw-r--r-- | src/docparser.h | 410 |
1 files changed, 222 insertions, 188 deletions
diff --git a/src/docparser.h b/src/docparser.h index e5a76f3..493e9e3 100644 --- a/src/docparser.h +++ b/src/docparser.h @@ -19,12 +19,14 @@ #ifndef _DOCPARSER_H #define _DOCPARSER_H +#include <stdio.h> + #include <qlist.h> #include <qstrlist.h> -#include <stdio.h> +#include <qstring.h> #include "docvisitor.h" -#include "doctokenizer.h" +#include "htmlattrib.h" class DocNode; class MemberDef; @@ -138,16 +140,16 @@ template<class T> class CompAccept class DocWord : public DocNode { public: - DocWord(DocNode *parent,const QCString &word) : + DocWord(DocNode *parent,const QString &word) : m_parent(parent), m_word(word) {} - QCString word() const { return m_word; } + QString word() const { return m_word; } Kind kind() const { return Kind_Word; } DocNode *parent() const { return m_parent; } void accept(DocVisitor *v) { v->visit(this); } private: DocNode *m_parent; - QCString m_word; + QString m_word; }; /*! @brief Node representing a word that can be linked to something @@ -155,41 +157,41 @@ class DocWord : public DocNode class DocLinkedWord : public DocNode { public: - DocLinkedWord(DocNode *parent,const QCString &word, - const QCString &ref,const QCString &file, - const QCString &anchor) : + DocLinkedWord(DocNode *parent,const QString &word, + const QString &ref,const QString &file, + const QString &anchor) : m_parent(parent), m_word(word), m_ref(ref), m_file(file), m_anchor(anchor) {} - QCString word() const { return m_word; } + QString word() const { return m_word; } Kind kind() const { return Kind_Word; } DocNode *parent() const { return m_parent; } - QCString file() const { return m_file; } - QCString ref() const { return m_ref; } - QCString anchor() const { return m_anchor; } + QString file() const { return m_file; } + QString ref() const { return m_ref; } + QString anchor() const { return m_anchor; } void accept(DocVisitor *v) { v->visit(this); } private: DocNode *m_parent; - QCString m_word; - QCString m_ref; - QCString m_file; - QCString m_anchor; + QString m_word; + QString m_ref; + QString m_file; + QString m_anchor; }; /*! @brief Node representing an URL (or email address) */ class DocURL : public DocNode { public: - DocURL(DocNode *parent,const QCString &url) : + DocURL(DocNode *parent,const QString &url) : m_parent(parent), m_url(url) {} - QCString url() const { return m_url; } + QString url() const { return m_url; } Kind kind() const { return Kind_URL; } DocNode *parent() const { return m_parent; } void accept(DocVisitor *v) { v->visit(this); } private: DocNode *m_parent; - QCString m_url; + QString m_url; }; /*! @brief Node representing a line break */ @@ -224,17 +226,17 @@ class DocHorRuler : public DocNode class DocAnchor : public DocNode { public: - DocAnchor(DocNode *parent,const QCString &id,bool newAnchor); + DocAnchor(DocNode *parent,const QString &id,bool newAnchor); Kind kind() const { return Kind_Anchor; } DocNode *parent() const { return m_parent; } - QCString anchor() const { return m_anchor; } - QCString file() const { return m_file; } + QString anchor() const { return m_anchor; } + QString file() const { return m_file; } void accept(DocVisitor *v) { v->visit(this); } private: DocNode *m_parent; - QCString m_anchor; - QCString m_file; + QString m_anchor; + QString m_file; }; /*! @brief Node representing a style change */ @@ -255,9 +257,9 @@ class DocStyleChange : public DocNode private: DocNode *m_parent; - uint m_position; - Style m_style; - bool m_enable; + uint m_position; + Style m_style; + bool m_enable; }; /*! @brief Node representing a special symbol */ @@ -275,27 +277,27 @@ class DocSymbol : public DocNode Kind kind() const { return Kind_Symbol; } DocNode *parent() const { return m_parent; } void accept(DocVisitor *v) { v->visit(this); } - static SymType decodeSymbol(const QCString &symName,char *letter); + static SymType decodeSymbol(const QString &symName,char *letter); private: DocNode *m_parent; - SymType m_symbol; - char m_letter; + SymType m_symbol; + char m_letter; }; /*! @brief Node representing some amount of white space */ class DocWhiteSpace : public DocNode { public: - DocWhiteSpace(DocNode *parent,const QCString &chars) : + DocWhiteSpace(DocNode *parent,const QString &chars) : m_parent(parent), m_chars(chars) {} Kind kind() const { return Kind_WhiteSpace; } - QCString chars() const { return m_chars; } + QString chars() const { return m_chars; } DocNode *parent() const { return m_parent; } void accept(DocVisitor *v) { v->visit(this); } private: DocNode *m_parent; - QCString m_chars; + QString m_chars; }; /*! @brief Node representing a verbatim, unparsed text fragment */ @@ -303,21 +305,21 @@ class DocVerbatim : public DocNode { public: enum Type { Code, HtmlOnly, LatexOnly, Verbatim }; - DocVerbatim(DocNode *parent,const QCString &context, - const QCString &text, Type t) : + DocVerbatim(DocNode *parent,const QString &context, + const QString &text, Type t) : m_parent(parent), m_context(context), m_text(text), m_type(t) {} Kind kind() const { return Kind_Verbatim; } Type type() const { return m_type; } - QCString text() const { return m_text; } - QCString context() const { return m_context; } + QString text() const { return m_text; } + QString context() const { return m_context; } DocNode *parent() const { return m_parent; } void accept(DocVisitor *v) { v->visit(this); } private: DocNode *m_parent; - QCString m_context; - QCString m_text; - Type m_type; + QString m_context; + QString m_text; + Type m_type; }; /*! @brief Node representing an included text block from file */ @@ -325,23 +327,23 @@ class DocInclude : public DocNode { public: enum Type { Include, DontInclude, VerbInclude, HtmlInclude }; - DocInclude(DocNode *parent,const QCString &file, - const QCString context, Type t) : + DocInclude(DocNode *parent,const QString &file, + const QString context, Type t) : m_parent(parent), m_file(file), m_context(context), m_type(t) {} Kind kind() const { return Kind_Include; } - QCString file() const { return m_file; } + QString file() const { return m_file; } Type type() const { return m_type; } - QCString text() const { return m_text; } - QCString context() const { return m_context; } + QString text() const { return m_text; } + QString context() const { return m_context; } DocNode *parent() const { return m_parent; } void accept(DocVisitor *v) { v->visit(this); } void parse(); private: DocNode *m_parent; - QCString m_file; - QCString m_context; - QCString m_text; + QString m_file; + QString m_context; + QString m_text; Type m_type; }; @@ -350,15 +352,15 @@ class DocIncOperator : public DocNode { public: enum Type { Line, SkipLine, Skip, Until }; - DocIncOperator(DocNode *parent,Type t,const QCString &pat, - const QCString &context) : + DocIncOperator(DocNode *parent,Type t,const QString &pat, + const QString &context) : m_parent(parent), m_type(t), m_pattern(pat), m_context(context), m_isFirst(FALSE), m_isLast(FALSE) {} Kind kind() const { return Kind_IncOperator; } Type type() const { return m_type; } - QCString text() const { return m_text; } - QCString pattern() const { return m_pattern; } - QCString context() const { return m_context; } + QString text() const { return m_text; } + QString pattern() const { return m_pattern; } + QString context() const { return m_context; } DocNode *parent() const { return m_parent; } void accept(DocVisitor *v) { v->visit(this); } void parse(); @@ -369,10 +371,10 @@ class DocIncOperator : public DocNode private: DocNode *m_parent; - Type m_type; - QCString m_text; - QCString m_pattern; - QCString m_context; + Type m_type; + QString m_text; + QString m_pattern; + QString m_context; bool m_isFirst; bool m_isLast; }; @@ -383,17 +385,17 @@ class DocFormula : public DocNode public: DocFormula(DocNode *parent,int id); Kind kind() const { return Kind_Formula; } - QCString name() const { return m_name; } - QCString text() const { return m_text; } + QString name() const { return m_name; } + QString text() const { return m_text; } int id() const { return m_id; } DocNode *parent() const { return m_parent; } void accept(DocVisitor *v) { v->visit(this); } private: DocNode *m_parent; - QCString m_name; - QCString m_text; - int m_id; + QString m_name; + QString m_text; + int m_id; }; /*! @brief Node representing an entry in the index. */ @@ -405,11 +407,11 @@ class DocIndexEntry : public DocNode int parse(); DocNode *parent() const { return m_parent; } void accept(DocVisitor *v) { v->visit(this); } - QCString entry() { return m_entry; } + QString entry() { return m_entry; } private: DocNode *m_parent; - QCString m_entry; + QString m_entry; }; //----------------------------------------------------------------------- @@ -418,17 +420,17 @@ class DocIndexEntry : public DocNode class DocCopy : public CompAccept<DocCopy>, public DocNode { public: - DocCopy(DocNode *parent,const QCString &link) + DocCopy(DocNode *parent,const QString &link) : m_parent(parent), m_link(link) { } Kind kind() const { return Kind_IndexEntry; } - QCString link() const { return m_link; } + QString link() const { return m_link; } void parse(); DocNode *parent() const { return m_parent; } void accept(DocVisitor *v) { CompAccept<DocCopy>::accept(this,v); } private: DocNode *m_parent; - QCString m_link; + QString m_link; }; /*! @brief Node representing an auto List */ @@ -446,8 +448,8 @@ class DocAutoList : public CompAccept<DocAutoList>, public DocNode private: DocNode *m_parent; - int m_indent; - bool m_isEnumList; + int m_indent; + bool m_isEnumList; }; @@ -474,20 +476,20 @@ class DocXRefItem : public CompAccept<DocXRefItem>, public DocNode m_parent(parent), m_id(id), m_type(t) {} Kind kind() const { return Kind_XRefItem; } Type type() const { return m_type; } - QCString file() const { return m_file; } - QCString anchor() const { return m_anchor; } - QCString title() const { return m_title; } + QString file() const { return m_file; } + QString anchor() const { return m_anchor; } + QString title() const { return m_title; } void parse(); DocNode *parent() const { return m_parent; } void accept(DocVisitor *v) { CompAccept<DocXRefItem>::accept(this,v); } private: DocNode *m_parent; - int m_id; - Type m_type; - QCString m_file; - QCString m_anchor; - QCString m_title; + int m_id; + Type m_type; + QString m_file; + QString m_anchor; + QString m_title; }; /*! @brief Node representing an image */ @@ -495,81 +497,81 @@ class DocImage : public CompAccept<DocImage>, public DocNode { public: enum Type { Html, Latex, Rtf }; - DocImage(DocNode *parent,const QCString &name,Type t) : + DocImage(DocNode *parent,const QString &name,Type t) : m_parent(parent), m_name(name), m_type(t) {} Kind kind() const { return Kind_Image; } Type type() const { return m_type; } - QCString name() const { return m_name; } + QString name() const { return m_name; } DocNode *parent() const { return m_parent; } bool hasCaption() const { return !m_children.isEmpty(); } - QCString width() const { return m_width; } - QCString height() const { return m_height; } + QString width() const { return m_width; } + QString height() const { return m_height; } void accept(DocVisitor *v) { CompAccept<DocImage>::accept(this,v); } void parse(); private: - DocNode *m_parent; - QCString m_name; - Type m_type; - QCString m_width; - QCString m_height; + DocNode *m_parent; + QString m_name; + Type m_type; + QString m_width; + QString m_height; }; /*! @brief Node representing a dot file */ class DocDotFile : public CompAccept<DocDotFile>, public DocNode { public: - DocDotFile(DocNode *parent,const QCString &name) : + DocDotFile(DocNode *parent,const QString &name) : m_parent(parent), m_name(name) { } void parse(); Kind kind() const { return Kind_DotFile; } - QCString name() const { return m_name; } - QCString file() const { return m_file; } + QString name() const { return m_name; } + QString file() const { return m_file; } bool hasCaption() const { return !m_children.isEmpty(); } - QCString width() const { return m_width; } - QCString height() const { return m_height; } + QString width() const { return m_width; } + QString height() const { return m_height; } DocNode *parent() const { return m_parent; } void accept(DocVisitor *v) { CompAccept<DocDotFile>::accept(this,v); } private: - DocNode *m_parent; - QCString m_name; - QCString m_file; - QCString m_width; - QCString m_height; + DocNode *m_parent; + QString m_name; + QString m_file; + QString m_width; + QString m_height; }; /*! @brief Node representing a link to some item */ class DocLink : public CompAccept<DocLink>, public DocNode { public: - DocLink(DocNode *parent,const QCString &target); - QCString parse(bool); + DocLink(DocNode *parent,const QString &target); + QString parse(bool); Kind kind() const { return Kind_Link; } - QCString file() const { return m_file; } - QCString ref() const { return m_ref; } - QCString anchor() const { return m_anchor; } + QString file() const { return m_file; } + QString ref() const { return m_ref; } + QString anchor() const { return m_anchor; } DocNode *parent() const { return m_parent; } void accept(DocVisitor *v) { CompAccept<DocLink>::accept(this,v); } private: - DocNode *m_parent; - QCString m_file; - QCString m_ref; - QCString m_anchor; + DocNode *m_parent; + QString m_file; + QString m_ref; + QString m_anchor; }; /*! @brief Node representing a reference to some item */ class DocRef : public CompAccept<DocRef>, public DocNode { public: - DocRef(DocNode *parent,const QCString &target); + DocRef(DocNode *parent,const QString &target); void parse(); Kind kind() const { return Kind_Ref; } - QCString file() const { return m_file; } - QCString ref() const { return m_ref; } - QCString anchor() const { return m_anchor; } - QCString targetTitle() const { return m_text; } + QString file() const { return m_file; } + QString ref() const { return m_ref; } + QString anchor() const { return m_anchor; } + QString targetTitle() const { return m_text; } DocNode *parent() const { return m_parent; } bool hasLinkText() const { return !m_children.isEmpty(); } bool refToAnchor() const { return m_refToAnchor; } @@ -577,40 +579,40 @@ class DocRef : public CompAccept<DocRef>, public DocNode void accept(DocVisitor *v) { CompAccept<DocRef>::accept(this,v); } private: - DocNode * m_parent; - bool m_refToSection; - bool m_refToAnchor; - QCString m_file; - QCString m_ref; - QCString m_anchor; - QCString m_text; + DocNode * m_parent; + bool m_refToSection; + bool m_refToAnchor; + QString m_file; + QString m_ref; + QString m_anchor; + QString m_text; }; /*! @brief Node representing an internal reference to some item */ class DocInternalRef : public CompAccept<DocInternalRef>, public DocNode { public: - DocInternalRef(DocNode *parent,const QCString &target); + DocInternalRef(DocNode *parent,const QString &target); void parse(); Kind kind() const { return Kind_Ref; } - QCString file() const { return m_file; } - QCString anchor() const { return m_anchor; } + QString file() const { return m_file; } + QString anchor() const { return m_anchor; } DocNode *parent() const { return m_parent; } void accept(DocVisitor *v) { CompAccept<DocInternalRef>::accept(this,v); } private: DocNode * m_parent; - QCString m_file; - QCString m_anchor; + QString m_file; + QString m_anchor; }; /*! @brief Node representing a Language specific section */ class DocLanguage : public CompAccept<DocLanguage>, public DocNode { public: - DocLanguage(DocNode *parent,const QCString &id) : + DocLanguage(DocNode *parent,const QString &id) : m_parent(parent), m_id(id) {} - QCString id() const { return m_id; } + QString id() const { return m_id; } int parse(); Kind kind() const { return Kind_Language; } DocNode *parent() const { return m_parent; } @@ -618,115 +620,123 @@ class DocLanguage : public CompAccept<DocLanguage>, public DocNode private: DocNode * m_parent; - QCString m_id; + QString m_id; }; /*! @brief Node representing a Hypertext reference */ class DocHRef : public CompAccept<DocHRef>, public DocNode { public: - DocHRef(DocNode *parent,const QCString &url) : + DocHRef(DocNode *parent,const QString &url) : m_parent(parent), m_url(url) {} int parse(); - QCString url() const { return m_url; } + QString url() const { return m_url; } Kind kind() const { return Kind_HRef; } DocNode *parent() const { return m_parent; } void accept(DocVisitor *v) { CompAccept<DocHRef>::accept(this,v); } private: - DocNode * m_parent; - QCString m_url; + DocNode * m_parent; + QString m_url; }; /*! @brief Node Html heading */ class DocHtmlHeader : public CompAccept<DocHtmlHeader>, public DocNode { public: - DocHtmlHeader(DocNode *parent,int level) : - m_parent(parent), m_level(level) {} + DocHtmlHeader(DocNode *parent,const HtmlAttribList &attribs,int level) : + m_parent(parent), m_level(level), m_attribs(attribs) {} int parse(); int level() const { return m_level; } Kind kind() const { return Kind_HtmlHeader; } + const HtmlAttribList &attribs() const { return m_attribs; } DocNode *parent() const { return m_parent; } void accept(DocVisitor *v) { CompAccept<DocHtmlHeader>::accept(this,v); } private: - DocNode * m_parent; - int m_level; + DocNode * m_parent; + int m_level; + HtmlAttribList m_attribs; }; /*! @brief Node representing a Html description item */ class DocHtmlDescTitle : public CompAccept<DocHtmlDescTitle>, public DocNode { public: - DocHtmlDescTitle(DocNode *parent) : m_parent(parent) {} + DocHtmlDescTitle(DocNode *parent,const HtmlAttribList &attribs) : + m_parent(parent), m_attribs(attribs) {} int parse(); Kind kind() const { return Kind_HtmlDescTitle; } DocNode *parent() const { return m_parent; } + const HtmlAttribList &attribs() const { return m_attribs; } void accept(DocVisitor *v) { CompAccept<DocHtmlDescTitle>::accept(this,v); } private: - DocNode * m_parent; + DocNode * m_parent; + HtmlAttribList m_attribs; }; /*! @brief Node representing a Html description list */ class DocHtmlDescList : public CompAccept<DocHtmlDescList>, public DocNode { public: - DocHtmlDescList(DocNode *parent) : m_parent(parent) {} + DocHtmlDescList(DocNode *parent,const HtmlAttribList &attribs) + : m_parent(parent), m_attribs(attribs) {} int parse(); Kind kind() const { return Kind_HtmlDescList; } DocNode *parent() const { return m_parent; } + const HtmlAttribList &attribs() const { return m_attribs; } void accept(DocVisitor *v) { CompAccept<DocHtmlDescList>::accept(this,v); } private: - DocNode * m_parent; + DocNode * m_parent; + HtmlAttribList m_attribs; }; /*! @brief Node representing a normal section */ class DocSection : public CompAccept<DocSection>, public DocNode { public: - DocSection(DocNode *parent,int level,const QCString &id) : + DocSection(DocNode *parent,int level,const QString &id) : m_parent(parent), m_level(level), m_id(id) {} Kind kind() const { return Kind_Section; } int level() const { return m_level; } - QCString title() const { return m_title; } - QCString anchor() const { return m_anchor; } - QCString id() const { return m_id; } - QCString file() const { return m_file; } + QString title() const { return m_title; } + QString anchor() const { return m_anchor; } + QString id() const { return m_id; } + QString file() const { return m_file; } DocNode *parent() const { return m_parent; } void accept(DocVisitor *v) { CompAccept<DocSection>::accept(this,v); } int parse(); private: - DocNode *m_parent; - int m_level; - QCString m_id; - QCString m_title; - QCString m_anchor; - QCString m_file; + DocNode *m_parent; + int m_level; + QString m_id; + QString m_title; + QString m_anchor; + QString m_file; }; /*! @brief Node representing a reference to a section */ class DocSecRefItem : public CompAccept<DocSecRefItem>, public DocNode { public: - DocSecRefItem(DocNode *parent,const QCString &target) : + DocSecRefItem(DocNode *parent,const QString &target) : m_parent(parent), m_target(target) {} Kind kind() const { return Kind_SecRefItem; } - QCString target() const { return m_target; } - QCString file() const { return m_file; } - QCString anchor() const { return m_anchor; } + QString target() const { return m_target; } + QString file() const { return m_file; } + QString anchor() const { return m_anchor; } DocNode *parent() const { return m_parent; } void accept(DocVisitor *v) { CompAccept<DocSecRefItem>::accept(this,v); } void parse(); private: - DocNode *m_parent; - QCString m_target; - QCString m_file; - QCString m_anchor; + DocNode *m_parent; + QString m_target; + QString m_file; + QString m_anchor; }; /*! @brief Node representing a list of section references */ @@ -776,16 +786,19 @@ class DocHtmlList : public CompAccept<DocHtmlList>, public DocNode { public: enum Type { Unordered, Ordered }; - DocHtmlList(DocNode *parent,Type t) : m_parent(parent), m_type(t) {} + DocHtmlList(DocNode *parent,const HtmlAttribList &attribs,Type t) : + m_parent(parent), m_type(t), m_attribs(attribs) {} Kind kind() const { return Kind_HtmlList; } Type type() const { return m_type; } + const HtmlAttribList &attribs() const { return m_attribs; } int parse(); DocNode *parent() const { return m_parent; } void accept(DocVisitor *v) { CompAccept<DocHtmlList>::accept(this,v); } private: - DocNode *m_parent; - Type m_type; + DocNode * m_parent; + Type m_type; + HtmlAttribList m_attribs; }; /*! Node representing a simple section */ @@ -820,7 +833,7 @@ class DocParamSect : public CompAccept<DocParamSect>, public DocNode Unknown, Param, RetVal, Exception }; DocParamSect(DocNode *parent,Type t) : m_parent(parent), m_type(t) {} - int parse(const QCString &cmdName); + int parse(const QString &cmdName); Kind kind() const { return Kind_ParamSect; } Type type() const { return m_type; } DocNode *parent() const { return m_parent; } @@ -847,23 +860,23 @@ class DocPara : public CompAccept<DocPara>, public DocNode bool isFirst() const { return m_isFirst; } bool isLast() const { return m_isLast; } - int handleCommand(const QCString &cmdName); - int handleHtmlStartTag(const QCString &tagName,const QList<Option> &tagOptions); - int handleHtmlEndTag(const QCString &tagName); + int handleCommand(const QString &cmdName); + int handleHtmlStartTag(const QString &tagName,const HtmlAttribList &tagHtmlAttribs); + int handleHtmlEndTag(const QString &tagName); int handleSimpleSection(DocSimpleSect::Type t); int handleXRefItem(DocXRefItem::Type t); - int handleParamSection(const QCString &cmdName,DocParamSect::Type t); - void handleIncludeOperator(const QCString &cmdName,DocIncOperator::Type t); - void handleImage(const QCString &cmdName); - void handleDotFile(const QCString &cmdName); - void handleInclude(const QCString &cmdName,DocInclude::Type t); - void handleLink(const QCString &cmdName,bool isJavaLink); - void handleRef(const QCString &cmdName); + int handleParamSection(const QString &cmdName,DocParamSect::Type t); + void handleIncludeOperator(const QString &cmdName,DocIncOperator::Type t); + void handleImage(const QString &cmdName); + void handleDotFile(const QString &cmdName); + void handleInclude(const QString &cmdName,DocInclude::Type t); + void handleLink(const QString &cmdName,bool isJavaLink); + void handleRef(const QString &cmdName); int handleLanguageSwitch(); private: DocNode *m_parent; - QCString m_sectionId; + QString m_sectionId; bool m_isFirst; bool m_isLast; }; @@ -877,7 +890,7 @@ class DocParamList : public DocNode { m_paragraph=new DocPara(this); } virtual ~DocParamList() { delete m_paragraph; } - int parse(const QCString &cmdName); + int parse(const QString &cmdName); Kind kind() const { return Kind_ParamList; } DocNode *parent() const { return m_parent; } const QStrList ¶meters() { return m_params; } @@ -890,9 +903,9 @@ class DocParamList : public DocNode } private: - DocNode *m_parent; - DocPara *m_paragraph; - QStrList m_params; + DocNode * m_parent; + DocPara * m_paragraph; + QStrList m_params; DocParamSect::Type m_type; }; @@ -943,28 +956,34 @@ class DocSimpleListItem : public DocNode class DocHtmlListItem : public CompAccept<DocHtmlListItem>, public DocNode { public: - DocHtmlListItem(DocNode *parent) : m_parent(parent) {} + DocHtmlListItem(DocNode *parent,const HtmlAttribList &attribs) : + m_parent(parent), m_attribs(attribs) {} int parse(); Kind kind() const { return Kind_HtmlListItem; } + const HtmlAttribList &attribs() const { return m_attribs; } DocNode *parent() const { return m_parent; } void accept(DocVisitor *v) { CompAccept<DocHtmlListItem>::accept(this,v); } private: - DocNode *m_parent; + DocNode * m_parent; + HtmlAttribList m_attribs; }; /*! @brief Node representing a Html description data */ class DocHtmlDescData : public CompAccept<DocHtmlDescData>, public DocNode { public: - DocHtmlDescData(DocNode *parent) : m_parent(parent) {} + DocHtmlDescData(DocNode *parent) : + m_parent(parent) {} int parse(); Kind kind() const { return Kind_HtmlDescData; } + const HtmlAttribList &attribs() const { return m_attribs; } DocNode *parent() const { return m_parent; } void accept(DocVisitor *v) { CompAccept<DocHtmlDescData>::accept(this,v); } private: - DocNode * m_parent; + DocNode * m_parent; + HtmlAttribList m_attribs; }; @@ -972,28 +991,32 @@ class DocHtmlDescData : public CompAccept<DocHtmlDescData>, public DocNode class DocHtmlPre : public CompAccept<DocHtmlPre>, public DocNode { public: - DocHtmlPre(DocNode *parent) : m_parent(parent) {} + DocHtmlPre(DocNode *parent,const HtmlAttribList &attribs) + : m_parent(parent), m_attribs(attribs) {} int parse(); Kind kind() const { return Kind_HtmlPre; } + const HtmlAttribList &attribs() const { return m_attribs; } DocNode *parent() const { return m_parent; } void accept(DocVisitor *v) { CompAccept<DocHtmlPre>::accept(this,v); } private: - DocNode *m_parent; + DocNode * m_parent; + HtmlAttribList m_attribs; }; /*! @brief Node representing a Html table cell */ class DocHtmlCell : public CompAccept<DocHtmlCell>, public DocNode { public: - DocHtmlCell(DocNode *parent,bool isHeading) : + DocHtmlCell(DocNode *parent,const HtmlAttribList &attribs,bool isHeading) : m_parent(parent), m_isHeading(isHeading), - m_isFirst(FALSE), m_isLast(FALSE) {} + m_isFirst(FALSE), m_isLast(FALSE), m_attribs(attribs) {} int parse(); bool isHeading() const { return m_isHeading; } bool isFirst() const { return m_isFirst; } bool isLast() const { return m_isLast; } Kind kind() const { return Kind_HtmlCell; } + const HtmlAttribList &attribs() const { return m_attribs; } DocNode *parent() const { return m_parent; } void accept(DocVisitor *v) { CompAccept<DocHtmlCell>::accept(this,v); } void markFirst(bool v=TRUE) { m_isFirst=v; } @@ -1004,47 +1027,57 @@ class DocHtmlCell : public CompAccept<DocHtmlCell>, public DocNode bool m_isHeading; bool m_isFirst; bool m_isLast; + HtmlAttribList m_attribs; }; /*! @brief Node representing a Html table caption */ class DocHtmlCaption : public CompAccept<DocHtmlCaption>, public DocNode { public: - DocHtmlCaption(DocNode *parent) : m_parent(parent) {} + DocHtmlCaption(DocNode *parent,const HtmlAttribList &attribs) : + m_parent(parent), m_attribs(attribs) {} int parse(); Kind kind() const { return Kind_HtmlCaption; } + const HtmlAttribList &attribs() const { return m_attribs; } DocNode *parent() const { return m_parent; } void accept(DocVisitor *v) { CompAccept<DocHtmlCaption>::accept(this,v); } private: - DocNode * m_parent; + DocNode * m_parent; + HtmlAttribList m_attribs; }; /*! @brief Node representing a Html table row */ class DocHtmlRow : public CompAccept<DocHtmlRow>, public DocNode { public: - DocHtmlRow(DocNode *parent) : m_parent(parent) {} + DocHtmlRow(DocNode *parent,const HtmlAttribList &attribs) + : m_parent(parent), m_attribs(attribs) {} int parse(); Kind kind() const { return Kind_HtmlRow; } + const HtmlAttribList &attribs() const { return m_attribs; } DocNode *parent() const { return m_parent; } uint numCells() const { return m_children.count(); } void accept(DocVisitor *v) { CompAccept<DocHtmlRow>::accept(this,v); } private: - DocNode * m_parent; + DocNode * m_parent; + HtmlAttribList m_attribs; }; /*! @brief Node representing a Html table */ class DocHtmlTable : public CompAccept<DocHtmlTable>, public DocNode { public: - DocHtmlTable(DocNode *parent) : m_parent(parent) { m_caption=0; } + DocHtmlTable(DocNode *parent,const HtmlAttribList &attribs) + : m_parent(parent), m_attribs(attribs) + { m_caption=0; } ~DocHtmlTable() { delete m_caption; } Kind kind() const { return Kind_HtmlTable; } DocNode *parent() const { return m_parent; } uint numRows() const { return m_children.count(); } bool hasCaption() { return m_caption!=0; } + const HtmlAttribList &attribs() const { return m_attribs; } int parse(); uint numCols() const { @@ -1071,6 +1104,7 @@ class DocHtmlTable : public CompAccept<DocHtmlTable>, public DocNode private: DocNode * m_parent; DocHtmlCaption *m_caption; + HtmlAttribList m_attribs; }; |