diff options
author | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2010-09-20 18:19:55 (GMT) |
---|---|---|
committer | dimitri <dimitri@afe2bf4a-e733-0410-8a33-86f594647bc7> | 2010-09-20 18:19:55 (GMT) |
commit | a80f9320bf9fdd879869cee2cea1ec3f9af822f8 (patch) | |
tree | c3964e8a42bc4dfecf5a99d6de94650878e67a0f /src/docparser.h | |
parent | ce8facca2c23f4656747ad3a5b4a8db475855e27 (diff) | |
download | Doxygen-a80f9320bf9fdd879869cee2cea1ec3f9af822f8.zip Doxygen-a80f9320bf9fdd879869cee2cea1ec3f9af822f8.tar.gz Doxygen-a80f9320bf9fdd879869cee2cea1ec3f9af822f8.tar.bz2 |
Release-1.7.1-20100920
Diffstat (limited to 'src/docparser.h')
-rw-r--r-- | src/docparser.h | 54 |
1 files changed, 47 insertions, 7 deletions
diff --git a/src/docparser.h b/src/docparser.h index 7a63cb2..6b2a863 100644 --- a/src/docparser.h +++ b/src/docparser.h @@ -131,7 +131,8 @@ class DocNode Kind_ParamList = 44, Kind_InternalRef = 45, Kind_Copy = 46, - Kind_Text = 47 + Kind_Text = 47, + Kind_MscFile = 48 }; /*! Creates a new node */ DocNode() : m_parent(0), m_insidePre(FALSE) {} @@ -350,12 +351,12 @@ class DocVerbatim : public DocNode DocVerbatim(DocNode *parent,const QCString &context, const QCString &text, Type t,bool isExample, const QCString &exampleFile); - Kind kind() const { return Kind_Verbatim; } - Type type() const { return m_type; } + Kind kind() const { return Kind_Verbatim; } + Type type() const { return m_type; } QCString text() const { return m_text; } QCString context() const { return m_context; } - void accept(DocVisitor *v) { v->visit(this); } - bool isExample() const { return m_isExample; } + void accept(DocVisitor *v) { v->visit(this); } + bool isExample() const { return m_isExample; } QCString exampleFile() const { return m_exampleFile; } QCString relPath() const { return m_relPath; } @@ -608,6 +609,31 @@ class DocDotFile : public CompAccept<DocDotFile>, public DocNode QCString m_context; }; +/*! @brief Node representing a msc file */ +class DocMscFile : public CompAccept<DocMscFile>, public DocNode +{ + public: + DocMscFile(DocNode *parent,const QCString &name,const QCString &context); + void parse(); + Kind kind() const { return Kind_MscFile; } + QCString name() const { return m_name; } + QCString file() const { return m_file; } + QCString relPath() const { return m_relPath; } + bool hasCaption() const { return !m_children.isEmpty(); } + QCString width() const { return m_width; } + QCString height() const { return m_height; } + QCString context() const { return m_context; } + void accept(DocVisitor *v) { CompAccept<DocMscFile>::accept(this,v); } + private: + QCString m_name; + QCString m_file; + QCString m_relPath; + QCString m_width; + QCString m_height; + QCString m_context; +}; + + /*! @brief Node representing a link to some item */ class DocLink : public CompAccept<DocLink>, public DocNode { @@ -895,6 +921,7 @@ class DocSimpleSectSep : public DocNode /*! Node representing a parameter section */ class DocParamSect : public CompAccept<DocParamSect>, public DocNode { + friend class DocParamList; public: enum Type { @@ -905,15 +932,21 @@ class DocParamSect : public CompAccept<DocParamSect>, public DocNode In=1, Out=2, InOut=3, Unspecified=0 }; DocParamSect(DocNode *parent,Type t) - : m_type(t) { m_parent = parent; } + : m_type(t), m_dir(Unspecified), + m_hasInOutSpecifier(FALSE), m_hasTypeSpecifier(FALSE) + { m_parent = parent; } int parse(const QCString &cmdName,bool xmlContext,Direction d); Kind kind() const { return Kind_ParamSect; } Type type() const { return m_type; } void accept(DocVisitor *v) { CompAccept<DocParamSect>::accept(this,v); } + bool hasInOutSpecifier() const { return m_hasInOutSpecifier; } + bool hasTypeSpecifier() const { return m_hasTypeSpecifier; } private: Type m_type; Direction m_dir; + bool m_hasInOutSpecifier; + bool m_hasTypeSpecifier; }; /*! Node representing a paragraph in the documentation tree */ @@ -944,6 +977,7 @@ class DocPara : public CompAccept<DocPara>, public DocNode void handleIncludeOperator(const QCString &cmdName,DocIncOperator::Type t); void handleImage(const QCString &cmdName); void handleDotFile(const QCString &cmdName); + void handleMscFile(const QCString &cmdName); void handleInclude(const QCString &cmdName,DocInclude::Type t); void handleLink(const QCString &cmdName,bool isJavaLink); void handleRef(const QCString &cmdName); @@ -965,10 +999,15 @@ class DocParamList : public DocNode public: DocParamList(DocNode *parent,DocParamSect::Type t,DocParamSect::Direction d) : m_type(t), m_dir(d), m_isFirst(TRUE), m_isLast(TRUE) - { m_paragraphs.setAutoDelete(TRUE); m_parent = parent; } + { m_paragraphs.setAutoDelete(TRUE); + m_params.setAutoDelete(TRUE); + m_paramTypes.setAutoDelete(TRUE); + m_parent = parent; + } virtual ~DocParamList() { } Kind kind() const { return Kind_ParamList; } const QList<DocNode> ¶meters() { return m_params; } + const QList<DocNode> ¶mTypes() { return m_paramTypes; } DocParamSect::Type type() const { return m_type; } DocParamSect::Direction direction() const { return m_dir; } void markFirst(bool b=TRUE) { m_isFirst=b; } @@ -989,6 +1028,7 @@ class DocParamList : public DocNode private: QList<DocPara> m_paragraphs; QList<DocNode> m_params; + QList<DocNode> m_paramTypes; DocParamSect::Type m_type; DocParamSect::Direction m_dir; bool m_isFirst; |