⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dochandler.cpp

📁 doxygen(一个自动从源代码生成文档的工具)的源代码
💻 CPP
📖 第 1 页 / 共 3 页
字号:
  m_curString="";  m_parent->setDelegate(0);  printf("End ulink\n");}//----------------------------------------------------------------------// LineBreakHandler//----------------------------------------------------------------------LineBreakHandler::LineBreakHandler(IBaseHandler *parent)  : DocNode(LineBreak), m_parent(parent){  addEndHandler("linebreak",this,&LineBreakHandler::endLineBreak);}LineBreakHandler::~LineBreakHandler(){}void LineBreakHandler::startLineBreak(const QXmlAttributes& /*attrib*/){  m_parent->setDelegate(this);  printf("Start linebreak\n");}void LineBreakHandler::endLineBreak(){  m_parent->setDelegate(0);  printf("End linebreak\n");}//----------------------------------------------------------------------// HRulerHandler//----------------------------------------------------------------------HRulerHandler::HRulerHandler(IBaseHandler *parent)  : DocNode(HRuler), m_parent(parent){  addEndHandler("hruler",this,&HRulerHandler::endHRuler);}HRulerHandler::~HRulerHandler(){}void HRulerHandler::startHRuler(const QXmlAttributes& /*attrib*/){  m_parent->setDelegate(this);  printf("Start hruler\n");}void HRulerHandler::endHRuler(){  m_parent->setDelegate(0);  printf("End hruler\n");}//----------------------------------------------------------------------// RefHandler//----------------------------------------------------------------------RefHandler::RefHandler(IBaseHandler *parent)  : DocNode(Ref), m_parent(parent){  addEndHandler("ref",this,&RefHandler::endRef);}RefHandler::~RefHandler(){}void RefHandler::startRef(const QXmlAttributes& attrib){  m_parent->setDelegate(this);  m_refId = attrib.value("idref");  m_anchor = attrib.value("anchor");  printf("Start ref refId=%s anchor=%s\n",m_refId.data(),m_anchor.data());  m_curString="";}void RefHandler::endRef(){  m_linkText = m_curString;  m_parent->setDelegate(0);  printf("End ref: text=`%s'\n",m_linkText.data());}//----------------------------------------------------------------------// TitleHandler//----------------------------------------------------------------------TitleHandler::TitleHandler(IBaseHandler *parent)  : DocNode(Title), m_parent(parent){  m_children.setAutoDelete(TRUE);  m_markupHandler = new MarkupHandler(m_children,m_curString);  setFallBackHandler(m_markupHandler);  addStartHandler("ref",this,&TitleHandler::startRef);  addEndHandler("title",this,&TitleHandler::endTitle);}TitleHandler::~TitleHandler(){  delete m_markupHandler;}void TitleHandler::startTitle(const QXmlAttributes& /*attrib*/){  m_parent->setDelegate(this);  printf("Start title\n");  m_curString="";}void TitleHandler::endTitle(){  addTextNode();  m_parent->setDelegate(0);  printf("End title\n");}void TitleHandler::addTextNode(){  if (!m_curString.isEmpty())  {    m_children.append(new TextNode(m_curString,m_markupHandler->markup()));    printf("addTextNode() text=\"%s\" markup=%x\n",        m_curString.data(),m_markupHandler->markup());    m_curString="";  }}void TitleHandler::startRef(const QXmlAttributes& attrib){  RefHandler *ref = new RefHandler(this);  ref->startRef(attrib);  m_children.append(ref);}//----------------------------------------------------------------------// SimpleSectHandler//----------------------------------------------------------------------SimpleSectHandler::SimpleSectHandler(IBaseHandler *parent)  : DocNode(Para), m_parent(parent), m_paragraph(0), m_title(0){  addStartHandler("title",this,&SimpleSectHandler::startTitle);  addStartHandler("para",this,&SimpleSectHandler::startParagraph);  addEndHandler("simplesect",this,&SimpleSectHandler::endSimpleSect);}SimpleSectHandler::~SimpleSectHandler(){}void SimpleSectHandler::startSimpleSect(const QXmlAttributes& attrib){  m_type = g_typeMapper.stringToType(attrib.value("kind"));  printf("start simple section %s\n",attrib.value("kind").data());  m_parent->setDelegate(this);}void SimpleSectHandler::endSimpleSect(){  printf("end simple section\n");  m_parent->setDelegate(0);}void SimpleSectHandler::startTitle(const QXmlAttributes& attrib){  ASSERT(m_title==0);  m_title = new TitleHandler(this);  m_title->startTitle(attrib);}void SimpleSectHandler::startParagraph(const QXmlAttributes& attrib){  ASSERT(m_paragraph==0);  m_paragraph = new ParagraphHandler(this);  m_paragraph->startParagraph(attrib);}//----------------------------------------------------------------------// VariableListEntryHandler//----------------------------------------------------------------------VariableListEntryHandler::VariableListEntryHandler(IBaseHandler *parent)   : DocNode(VariableListEntry), m_parent(parent), m_description(0){  addStartHandler("term",this,&VariableListEntryHandler::startTerm);  addEndHandler("term",this,&VariableListEntryHandler::endTerm);  addStartHandler("para",this,&VariableListEntryHandler::startParagraph);  addEndHandler("varlistentry",this,&VariableListEntryHandler::endVarListEntry);  addEndHandler("listitem",this,&VariableListEntryHandler::endListItem);}VariableListEntryHandler::~VariableListEntryHandler(){  delete m_description;}void VariableListEntryHandler::startVarListEntry(const QXmlAttributes& /*attrib*/){  m_parent->setDelegate(this);  printf("start varlistentry\n");}void VariableListEntryHandler::endVarListEntry(){  m_parent->setDelegate(0);  printf("end varlistentry\n");}void VariableListEntryHandler::startListItem(const QXmlAttributes& /*attrib*/){  m_parent->setDelegate(this);  printf("start listitem\n");}void VariableListEntryHandler::endListItem(){  m_parent->setDelegate(0);  printf("end listitem\n");}void VariableListEntryHandler::startTerm(const QXmlAttributes& /*attrib*/){  m_curString="";}void VariableListEntryHandler::endTerm(){  m_term = m_curString;  printf("term=%s\n",m_term.data());}void VariableListEntryHandler::startParagraph(const QXmlAttributes& attrib){  ASSERT(m_description==0);  m_description = new ParagraphHandler(this);  m_description->startParagraph(attrib);}//----------------------------------------------------------------------// VariableListHandler//----------------------------------------------------------------------VariableListHandler::VariableListHandler(IBaseHandler *parent)   : DocNode(VariableList), m_parent(parent){  m_entries.setAutoDelete(TRUE);  addStartHandler("varlistentry",this,&VariableListHandler::startVarListEntry);  addStartHandler("listitem",this,&VariableListHandler::startListItem);  addEndHandler("variablelist",this,&VariableListHandler::endVariableList);}VariableListHandler::~VariableListHandler(){}void VariableListHandler::startVariableList(const QXmlAttributes& /*attrib*/){  m_parent->setDelegate(this);  printf("start variablelist\n");}void VariableListHandler::endVariableList(){  printf("end variablelist\n");  m_parent->setDelegate(0);}void VariableListHandler::startVarListEntry(const QXmlAttributes& attrib){  VariableListEntryHandler *vle = new VariableListEntryHandler(this);  vle->startVarListEntry(attrib);  m_curEntry = vle;  m_entries.append(vle);}void VariableListHandler::startListItem(const QXmlAttributes& attrib){  ASSERT(m_curEntry!=0);  m_curEntry->startListItem(attrib);}//----------------------------------------------------------------------// HighlightHandler//----------------------------------------------------------------------HighlightHandler::HighlightHandler(IBaseHandler *parent)  : DocNode(Highlight), m_parent(parent){  addEndHandler("highlight",this,&HighlightHandler::endHighlight);}HighlightHandler::~HighlightHandler(){}void HighlightHandler::startHighlight(const QXmlAttributes& attrib){  m_class = attrib.value("class");  m_curString="";  m_parent->setDelegate(this);}void HighlightHandler::endHighlight(){  m_text = m_curString;  printf("highlight class=`%s' text=`%s'\n",m_class.data(),m_text.data());  m_parent->setDelegate(0);}//----------------------------------------------------------------------// CodeLineHandler//----------------------------------------------------------------------CodeLineHandler::CodeLineHandler(IBaseHandler *parent)  : DocNode(CodeLine), m_parent(parent){  m_children.setAutoDelete(TRUE);  addEndHandler("codeline",this,&CodeLineHandler::endCodeLine);  addEndHandler("linenumber",this,&CodeLineHandler::endLineNumber);  addStartHandler("highlight",this,&CodeLineHandler::startHighlight);  addStartHandler("ref",this,&CodeLineHandler::startRef);  m_lineNumber = 0;}CodeLineHandler::~CodeLineHandler(){}void CodeLineHandler::startCodeLine(const QXmlAttributes& /*attrib*/){  m_parent->setDelegate(this);  printf("start codeline\n");}void CodeLineHandler::endCodeLine(){  addTextNode();  printf("end codeline\n");  m_parent->setDelegate(0);}void CodeLineHandler::startLineNumber(const QXmlAttributes& attrib){  m_parent->setDelegate(this);  printf("start linenumber\n");  m_lineNumber = attrib.value("line").toInt();  m_refId = attrib.value("refid");}void CodeLineHandler::endLineNumber(){  m_parent->setDelegate(0);}void CodeLineHandler::startHighlight(const QXmlAttributes& attrib){  addTextNode();  HighlightHandler *hlh = new HighlightHandler(this);  m_children.append(hlh);  hlh->startHighlight(attrib);}void CodeLineHandler::startRef(const QXmlAttributes& attrib){  addTextNode();  RefHandler *rh = new RefHandler(this);  m_children.append(rh);  rh->startRef(attrib);}void CodeLineHandler::addTextNode(){  if (!m_curString.isEmpty())  {    m_children.append(new TextNode(m_curString,DocNode::Normal));    printf("addTextNode() text=\"%s\"\n",        m_curString.data());    m_curString="";  }}//----------------------------------------------------------------------// ProgramListingHandler//----------------------------------------------------------------------ProgramListingHandler::ProgramListingHandler(IBaseHandler *parent)  : DocNode(ProgramListing), m_parent(parent){  m_children.setAutoDelete(TRUE);  m_hasLineNumber=FALSE;  addEndHandler("programlisting",this,&ProgramListingHandler::endProgramListing);  addStartHandler("linenumber",this,&ProgramListingHandler::startLineNumber);  addStartHandler("codeline",this,&ProgramListingHandler::startCodeLine);}ProgramListingHandler::~ProgramListingHandler(){}void ProgramListingHandler::startProgramListing(const QXmlAttributes& /*attrib*/){  m_parent->setDelegate(this);  printf("start programlisting\n");}void ProgramListingHandler::endProgramListing(){  printf("end programlisting\n");  m_parent->setDelegate(0);}void ProgramListingHandler::startLineNumber(const QXmlAttributes& attrib){  CodeLineHandler *clh = new CodeLineHandler(this);  m_children.append(clh);  m_hasLineNumber=TRUE;  clh->startLineNumber(attrib);}  void ProgramListingHandler::startCodeLine(const QXmlAttributes& attrib){  CodeLineHandler *clh = 0;  if (!m_hasLineNumber)   {    clh = new CodeLineHandler(this);    m_children.append(clh);  }  else  {    clh = m_children.getLast();  }  ASSERT(clh!=0);  clh->startCodeLine(attrib);  m_hasLineNumber=FALSE; }//----------------------------------------------------------------------// FormulaHandler//----------------------------------------------------------------------FormulaHandler::FormulaHandler(IBaseHandler *parent)  : DocNode(Formula), m_parent(parent){  addEndHandler("formula",this,&FormulaHandler::endFormula);}FormulaHandler::~FormulaHandler(){}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -