Doxygen
DocHtmlDescList类 参考

Node representing a Html description list 更多...

#include <docparser.h>

+ 类 DocHtmlDescList 继承关系图:
+ DocHtmlDescList 的协作图:

Public 成员函数

 DocHtmlDescList (DocParser &parser, DocNode *parent, const HtmlAttribList &attribs)
 
Kind kind () const override
 
const HtmlAttribListattribs () const
 
int parse ()
 
- Public 成员函数 继承自 CompAccept< DocHtmlDescList >
 CompAccept (DocParser &parser)
 
void accept (DocVisitor *v) override
 
const DocNodeListchildren () const
 
DocNodeListchildren ()
 
- Public 成员函数 继承自 DocNode
 DocNode (DocParser &parser)
 
virtual ~DocNode ()
 
DocNodeparent () const
 
void setParent (DocNode *parent)
 
bool isPreformatted () const
 

Private 属性

HtmlAttribList m_attribs
 

额外继承的成员函数

- Public 类型 继承自 DocNode
enum  Kind {
  Kind_Root = 0, Kind_Word = 1, Kind_WhiteSpace = 2, Kind_Para = 3,
  Kind_AutoList = 4, Kind_AutoListItem = 5, Kind_Symbol = 6, Kind_URL = 7,
  Kind_StyleChange = 8, Kind_SimpleSect = 9, Kind_Title = 10, Kind_SimpleList = 11,
  Kind_SimpleListItem = 12, Kind_Section = 13, Kind_Verbatim = 14, Kind_XRefItem = 15,
  Kind_HtmlList = 16, Kind_HtmlListItem = 17, Kind_HtmlDescList = 18, Kind_HtmlDescData = 19,
  Kind_HtmlDescTitle = 20, Kind_HtmlTable = 21, Kind_HtmlRow = 22, Kind_HtmlCell = 23,
  Kind_HtmlCaption = 24, Kind_LineBreak = 25, Kind_HorRuler = 26, Kind_Anchor = 27,
  Kind_IndexEntry = 28, Kind_Internal = 29, Kind_HRef = 30, Kind_Include = 31,
  Kind_IncOperator = 32, Kind_HtmlHeader = 33, Kind_Image = 34, Kind_DotFile = 35,
  Kind_Link = 36, Kind_Ref = 37, Kind_Formula = 38, Kind_SecRefItem = 39,
  Kind_SecRefList = 40, Kind_SimpleSectSep = 41, Kind_LinkedWord = 42, Kind_ParamSect = 43,
  Kind_ParamList = 44, Kind_InternalRef = 45, Kind_Copy = 46, Kind_Text = 47,
  Kind_MscFile = 48, Kind_HtmlBlockQuote = 49, Kind_VhdlFlow = 50, Kind_ParBlock = 51,
  Kind_DiaFile = 52, Kind_Emoji = 53, Kind_Sep = 54
}
 
- Protected 类型 继承自 DocNode
enum  RefType { Unknown, Anchor, Section, Table }
 
- Protected 成员函数 继承自 DocNode
void setInsidePreformatted (bool p)
 
- Protected 属性 继承自 CompAccept< DocHtmlDescList >
DocNodeList m_children
 
- Protected 属性 继承自 DocNode
DocNodem_parent = 0
 
DocParserm_parser
 

详细描述

Node representing a Html description list

在文件 docparser.h987 行定义.

构造及析构函数说明

◆ DocHtmlDescList()

DocHtmlDescList::DocHtmlDescList ( DocParser parser,
DocNode parent,
const HtmlAttribList attribs 
)
inline

在文件 docparser.h990 行定义.

引用了 DocNode::m_parent , 以及 DocNode::parent().

成员函数说明

◆ attribs()

const HtmlAttribList& DocHtmlDescList::attribs ( ) const
inline

在文件 docparser.h993 行定义.

993 { return m_attribs; }

引用了 m_attribs.

被这些函数引用 HtmlDocVisitor::visitPre().

◆ kind()

Kind DocHtmlDescList::kind ( ) const
inlineoverridevirtual

Returns the kind of node. Provides runtime type information

实现了 DocNode.

在文件 docparser.h992 行定义.

992 { return Kind_HtmlDescList; }

引用了 DocNode::Kind_HtmlDescList.

◆ parse()

int DocHtmlDescList::parse ( )

在文件 docparser.cpp3921 行定义.

3922 {
3923  int retval=RetVal_OK;
3924  auto ns = AutoNodeStack(m_parser,this);
3925  DBG(("DocHtmlDescList::parse() start\n"));
3926 
3927  // get next token
3928  int tok=m_parser.tokenizer.lex();
3929  // skip whitespace
3930  while (tok==TK_WHITESPACE || tok==TK_NEWPARA) tok=m_parser.tokenizer.lex();
3931  // should find a html tag now
3932  if (tok==TK_HTMLTAG)
3933  {
3935  if (tagId==HTML_DT && !m_parser.context.token->endTag) // found <dt> tag
3936  {
3937  // continue
3938  }
3939  else // found some other tag
3940  {
3942  "found <%s> instead!",qPrint(m_parser.context.token->name));
3944  goto enddesclist;
3945  }
3946  }
3947  else if (tok==0) // premature end of comment
3948  {
3949  warn_doc_error(m_parser.context.fileName,m_parser.tokenizer.getLineNr(),"unexpected end of comment while looking"
3950  " for a html description title");
3951  goto enddesclist;
3952  }
3953  else // token other than html token
3954  {
3955  warn_doc_error(m_parser.context.fileName,m_parser.tokenizer.getLineNr(),"expected <dt> tag but found %s token instead!",
3957  goto enddesclist;
3958  }
3959 
3960  do
3961  {
3963  m_children.push_back(std::unique_ptr<DocHtmlDescTitle>(dt));
3965  m_children.push_back(std::unique_ptr<DocHtmlDescData>(dd));
3966  retval=dt->parse();
3967  if (retval==RetVal_DescData)
3968  {
3969  retval=dd->parse();
3970  }
3971  else if (retval!=RetVal_DescTitle)
3972  {
3973  // error
3974  break;
3975  }
3976  } while (retval==RetVal_DescTitle);
3977 
3978  if (retval==0)
3979  {
3980  warn_doc_error(m_parser.context.fileName,m_parser.tokenizer.getLineNr(),"unexpected end of comment while inside <dl> block");
3981  }
3982 
3983 enddesclist:
3984 
3985  DBG(("DocHtmlDescList::parse() end\n"));
3986  return retval==RetVal_EndDesc ? RetVal_OK : retval;
3987 }

引用了 TokenInfo::attribs, DocParser::context, DBG, TokenInfo::endTag, DocParserContext::fileName, DocTokenizer::getLineNr(), HTML_DT, Mappers::htmlTagMapper, DocTokenizer::lex(), CompAccept< DocHtmlDescList >::m_children, DocNode::m_parser, Mapper::map(), TokenInfo::name, DocHtmlDescTitle::parse(), DocHtmlDescData::parse(), DocTokenizer::pushBackHtmlTag(), qPrint(), RetVal_DescData, RetVal_DescTitle, RetVal_EndDesc, RetVal_OK, TK_HTMLTAG, TK_NEWPARA, TK_WHITESPACE, DocParserContext::token, DocParser::tokenizer, DocTokenizer::tokToString() , 以及 warn_doc_error().

被这些函数引用 DocPara::handleHtmlStartTag().

类成员变量说明

◆ m_attribs

HtmlAttribList DocHtmlDescList::m_attribs
private

在文件 docparser.h997 行定义.

被这些函数引用 attribs().


该类的文档由以下文件生成:
TokenInfo::endTag
bool endTag
Definition: doctokenizer.h:100
DocParserContext::token
TokenInfo * token
Definition: docparser.cpp:129
DocParser::context
DocParserContext context
Definition: docparser.cpp:175
DocTokenizer::tokToString
static const char * tokToString(int token)
CompAccept< DocHtmlDescList >
RetVal_EndDesc
@ RetVal_EndDesc
Definition: doctokenizer.h:71
TokenInfo::name
QCString name
Definition: doctokenizer.h:74
RetVal_OK
@ RetVal_OK
Command starting with \
Definition: doctokenizer.h:59
DocHtmlDescData
Node representing a HTML description data
Definition: docparser.h:1303
DocHtmlDescTitle
Node representing a Html description item
Definition: docparser.h:973
DocNode::Kind_HtmlDescList
@ Kind_HtmlDescList
Definition: docparser.h:118
TokenInfo::attribs
HtmlAttribList attribs
Definition: doctokenizer.h:99
DocParser::tokenizer
DocTokenizer tokenizer
Definition: docparser.cpp:176
warn_doc_error
void warn_doc_error(const QCString &file, int line, const char *fmt,...)
Definition: message.cpp:186
TK_WHITESPACE
@ TK_WHITESPACE
Definition: doctokenizer.h:48
DocHtmlDescTitle::parse
int parse()
Definition: docparser.cpp:3744
DocTokenizer::pushBackHtmlTag
void pushBackHtmlTag(const QCString &tag)
Mappers::htmlTagMapper
static Mapper * htmlTagMapper
Definition: cmdmapper.h:235
DocParserContext::fileName
QCString fileName
Definition: docparser.cpp:110
DocHtmlDescList::attribs
const HtmlAttribList & attribs() const
Definition: docparser.h:993
RetVal_DescData
@ RetVal_DescData
Definition: doctokenizer.h:69
DocHtmlDescData::parse
int parse()
Definition: docparser.cpp:3896
DocHtmlDescList::m_attribs
HtmlAttribList m_attribs
Definition: docparser.h:997
DocNode::m_parser
DocParser & m_parser
Definition: docparser.h:184
HTML_DT
@ HTML_DT
Definition: cmdmapper.h:169
DocTokenizer::getLineNr
int getLineNr(void)
TK_HTMLTAG
@ TK_HTMLTAG
Command starting with @
Definition: doctokenizer.h:52
qPrint
const char * qPrint(const char *s)
Definition: qcstring.h:589
RetVal_DescTitle
@ RetVal_DescTitle
Definition: doctokenizer.h:70
AutoNodeStack
Definition: docparser.cpp:186
Mapper::map
int map(const QCString &n)
Definition: cmdmapper.cpp:237
DocTokenizer::lex
int lex()
TK_NEWPARA
@ TK_NEWPARA
Definition: doctokenizer.h:54
DocNode::parent
DocNode * parent() const
Definition: docparser.h:166
DBG
#define DBG(x)
Definition: docparser.cpp:58
CompAccept< DocHtmlDescList >::m_children
DocNodeList m_children
Definition: docparser.h:211
DocNode::m_parent
DocNode * m_parent
Definition: docparser.h:182