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

📄 dochandler.cpp

📁 Doxygen的词根来源于Document(文档)和Oxygen(氧气)
💻 CPP
📖 第 1 页 / 共 4 页
字号:
  setFallBackHandler(m_markupHandler);  addEndHandler("para",this,&ParagraphHandler::endParagraph);  addStartHandler("linebreak",this,&ParagraphHandler::startLineBreak);  addStartHandler("hruler",this,&ParagraphHandler::startHRuler);  addStartHandler("programlisting",this,&ParagraphHandler::startProgramListing);  addStartHandler("verbatim",this,&ParagraphHandler::startVerbatim);  addStartHandler("indexentry",this,&ParagraphHandler::startIndexEntry);  addStartHandler("orderedlist",this,&ParagraphHandler::startOrderedList);  addStartHandler("itemizedlist",this,&ParagraphHandler::startItemizedList);  addStartHandler("simplesect",this,&ParagraphHandler::startSimpleSect);  // TODO: title  addStartHandler("variablelist",this,&ParagraphHandler::startVariableList);  addStartHandler("table",this,&ParagraphHandler::startTable);  // TODO: heading  addStartHandler("image",this,&ParagraphHandler::startImage);  addStartHandler("dotfile",this,&ParagraphHandler::startDotFile);  addStartHandler("toclist",this,&ParagraphHandler::startTocList);  // TODO: language???  addStartHandler("parameterlist",this,&ParagraphHandler::startParameterList);  // TODO: xrefsect  addStartHandler("copydoc",this,&ParagraphHandler::startCopyDoc);  addStartHandler("ref",this,&ParagraphHandler::startRef);  addStartHandler("ulink",this,&ParagraphHandler::startULink);  addStartHandler("email",this,&ParagraphHandler::startEMail);  addStartHandler("link",this,&ParagraphHandler::startLink);  addStartHandler("formula",this,&ParagraphHandler::startFormula);  addStartHandler("latexonly",this,&ParagraphHandler::startHtmlOnly);  addStartHandler("htmlonly",this,&ParagraphHandler::startLatexOnly);  addStartHandler("umlaut",this,&ParagraphHandler::startUmlaut);  addStartHandler("acute",this,&ParagraphHandler::startAcute);  addStartHandler("grave",this,&ParagraphHandler::startGrave);  addStartHandler("circ",this,&ParagraphHandler::startCirc);  addStartHandler("tilde",this,&ParagraphHandler::startTilde);  addStartHandler("szlig",this,&ParagraphHandler::startSzlig);  addStartHandler("cedil",this,&ParagraphHandler::startCedil);  addStartHandler("ring",this,&ParagraphHandler::startRing);  addStartHandler("nbsp",this,&ParagraphHandler::startNbsp);  addStartHandler("copy",this,&ParagraphHandler::startCopy);  addStartHandler("anchor",this,&ParagraphHandler::startAnchor);}ParagraphHandler::~ParagraphHandler(){  delete m_markupHandler;}void ParagraphHandler::startParagraph(const QXmlAttributes& /*attrib*/){  m_parent->setDelegate(this);  debug(2,"para\n");}void ParagraphHandler::endParagraph(){  addTextNode();  debug(2,"end para\n");  m_parent->setDelegate(0);}void ParagraphHandler::startItemizedList(const QXmlAttributes& attrib){  addTextNode();  ItemizedListHandler *listHandler = new ItemizedListHandler(this);  listHandler->startItemizedList(attrib);  m_children.append(listHandler);}void ParagraphHandler::startOrderedList(const QXmlAttributes& attrib){  addTextNode();  OrderedListHandler *listHandler = new OrderedListHandler(this);  listHandler->startOrderedList(attrib);  m_children.append(listHandler);}void ParagraphHandler::startParameterList(const QXmlAttributes& attrib){  addTextNode();  ParameterListHandler *listHandler = new ParameterListHandler(this);  listHandler->startParameterList(attrib);  m_children.append(listHandler);}void ParagraphHandler::startSimpleSect(const QXmlAttributes& attrib){  addTextNode();  SimpleSectHandler *sectHandler = new SimpleSectHandler(this);  sectHandler->startSimpleSect(attrib);  m_children.append(sectHandler);}void ParagraphHandler::startRef(const QXmlAttributes& attrib){  addTextNode();  RefHandler *ref = new RefHandler(this);  ref->startRef(attrib);  m_children.append(ref);}void ParagraphHandler::startVariableList(const QXmlAttributes& attrib){  addTextNode();  VariableListHandler *vl = new VariableListHandler(this);  vl->startVariableList(attrib);  m_children.append(vl);}void ParagraphHandler::startHRuler(const QXmlAttributes& attrib){  addTextNode();  HRulerHandler *hr = new HRulerHandler(this);  hr->startHRuler(attrib);  m_children.append(hr);}void ParagraphHandler::startLineBreak(const QXmlAttributes& attrib){  addTextNode();  LineBreakHandler *lb = new LineBreakHandler(this);  lb->startLineBreak(attrib);  m_children.append(lb);}void ParagraphHandler::startULink(const QXmlAttributes& attrib){  addTextNode();  ULinkHandler *uh = new ULinkHandler(this);  uh->startULink(attrib);  m_children.append(uh);}void ParagraphHandler::startEMail(const QXmlAttributes& attrib){  addTextNode();  EMailHandler *eh = new EMailHandler(this);  eh->startEMail(attrib);  m_children.append(eh);}void ParagraphHandler::startLink(const QXmlAttributes& attrib){  addTextNode();  LinkHandler *lh = new LinkHandler(this);  lh->startLink(attrib);  m_children.append(lh);}void ParagraphHandler::startProgramListing(const QXmlAttributes& attrib){  addTextNode();  ProgramListingHandler *pl = new ProgramListingHandler(this);  pl->startProgramListing(attrib);  m_children.append(pl);}void ParagraphHandler::startFormula(const QXmlAttributes& attrib){  addTextNode();  FormulaHandler *fh = new FormulaHandler(this);  fh->startFormula(attrib);  m_children.append(fh);}void ParagraphHandler::startImage(const QXmlAttributes& attrib){  addTextNode();  ImageHandler *ih = new ImageHandler(this);  ih->startImage(attrib);  m_children.append(ih);}void ParagraphHandler::startDotFile(const QXmlAttributes& attrib){  addTextNode();  DotFileHandler *df = new DotFileHandler(this);  df->startDotFile(attrib);  m_children.append(df);}void ParagraphHandler::startIndexEntry(const QXmlAttributes& attrib){  addTextNode();  IndexEntryHandler *df = new IndexEntryHandler(this);  df->startIndexEntry(attrib);  m_children.append(df);}void ParagraphHandler::startTable(const QXmlAttributes& attrib){  addTextNode();  TableHandler *th = new TableHandler(this);  th->startTable(attrib);  m_children.append(th);}void ParagraphHandler::startVerbatim(const QXmlAttributes& attrib){  addTextNode();  VerbatimHandler *vh = new VerbatimHandler(this);  vh->startVerbatim(attrib,IDocVerbatim::Verbatim);  m_children.append(vh);}void ParagraphHandler::startHtmlOnly(const QXmlAttributes& attrib){  addTextNode();  VerbatimHandler *vh = new VerbatimHandler(this);  vh->startVerbatim(attrib,IDocVerbatim::HtmlOnly);  m_children.append(vh);}void ParagraphHandler::startLatexOnly(const QXmlAttributes& attrib){  addTextNode();  VerbatimHandler *vh = new VerbatimHandler(this);  vh->startVerbatim(attrib,IDocVerbatim::LatexOnly);  m_children.append(vh);}void ParagraphHandler::startUmlaut(const QXmlAttributes& attrib){  addTextNode();  SymbolHandler *sh = new SymbolHandler(this,IDocSymbol::Umlaut);  sh->startSymbol(attrib);  m_children.append(sh);}void ParagraphHandler::startAcute(const QXmlAttributes& attrib){  addTextNode();  SymbolHandler *sh = new SymbolHandler(this,IDocSymbol::Acute);  sh->startSymbol(attrib);  m_children.append(sh);}void ParagraphHandler::startGrave(const QXmlAttributes& attrib){  addTextNode();  SymbolHandler *sh = new SymbolHandler(this,IDocSymbol::Grave);  sh->startSymbol(attrib);  m_children.append(sh);}void ParagraphHandler::startCirc(const QXmlAttributes& attrib){  addTextNode();  SymbolHandler *sh = new SymbolHandler(this,IDocSymbol::Circ);  sh->startSymbol(attrib);  m_children.append(sh);}void ParagraphHandler::startTilde(const QXmlAttributes& attrib){  addTextNode();  SymbolHandler *sh = new SymbolHandler(this,IDocSymbol::Tilde);  sh->startSymbol(attrib);  m_children.append(sh);}void ParagraphHandler::startSzlig(const QXmlAttributes& attrib){  addTextNode();  SymbolHandler *sh = new SymbolHandler(this,IDocSymbol::Szlig);  sh->startSymbol(attrib);  m_children.append(sh);}void ParagraphHandler::startCedil(const QXmlAttributes& attrib){  addTextNode();  SymbolHandler *sh = new SymbolHandler(this,IDocSymbol::Cedil);  sh->startSymbol(attrib);  m_children.append(sh);}void ParagraphHandler::startRing(const QXmlAttributes& attrib){  addTextNode();  SymbolHandler *sh = new SymbolHandler(this,IDocSymbol::Ring);  sh->startSymbol(attrib);  m_children.append(sh);}void ParagraphHandler::startNbsp(const QXmlAttributes& attrib){  addTextNode();  SymbolHandler *sh = new SymbolHandler(this,IDocSymbol::Nbsp);  sh->startSymbol(attrib);  m_children.append(sh);}void ParagraphHandler::startCopy(const QXmlAttributes& attrib){  addTextNode();  SymbolHandler *sh = new SymbolHandler(this,IDocSymbol::Copy);  sh->startSymbol(attrib);  m_children.append(sh);}void ParagraphHandler::startAnchor(const QXmlAttributes& attrib){  addTextNode();  AnchorHandler *ah = new AnchorHandler(this);  ah->startAnchor(attrib);  m_children.append(ah);}void ParagraphHandler::startCopyDoc(const QXmlAttributes& attrib){  addTextNode();  CopyHandler *ch = new CopyHandler(this);  ch->startCopy(attrib);  m_children.append(ch);}void ParagraphHandler::startTocList(const QXmlAttributes& attrib){  addTextNode();  TocListHandler *th = new TocListHandler(this);  th->startTocList(attrib);  m_children.append(th);}void ParagraphHandler::addTextNode(){  if (!m_curString.isEmpty())  {    m_children.append(                      new TextNode(                                   m_curString,                                   m_markupHandler->markup(),                                   m_markupHandler->headingLevel()                                  )                     );    debug(2,"addTextNode() text=\"%s\" markup=%x headingLevel=%d\n",        m_curString.data(),m_markupHandler->markup(),m_markupHandler->headingLevel());    m_curString="";  }}IDocIterator *ParagraphHandler::contents() const{  return new ParagraphIterator(*this);}//----------------------------------------------------------------------// DocSectionHandler//----------------------------------------------------------------------DocSectionHandler::DocSectionHandler(IBaseHandler *parent,int level)  : m_parent(parent), m_internal(0), m_level(level), m_title(0){  QString sectionKey;  m_paragraphs.setAutoDelete(TRUE);  m_subsections.setAutoDelete(TRUE);  addStartHandler("title",this,&DocSectionHandler::startTitle);  addStartHandler("para",this,&DocSectionHandler::startParagraph);  if (level<6)   {    sectionKey.sprintf("sect%d",level+1);    addStartHandler(sectionKey,this,&DocSectionHandler::startSubSection);  }  addStartHandler("internal",this,&DocSectionHandler::startInternal);  sectionKey.sprintf("sect%d",level);  addEndHandler(sectionKey,this,&DocSectionHandler::endDocSection);}DocSectionHandler::~DocSectionHandler(){}void DocSectionHandler::startDocSection(const QXmlAttributes& attrib){  m_parent->setDelegate(this);  debug(2,"Start docsection\n");  m_id = attrib.value("id");}void DocSectionHandler::endDocSection(){  m_parent->setDelegate(0);  debug(2,"End docsection\n");}void DocSectionHandler::startSubSection(const QXmlAttributes& attrib){  DocSectionHandler *secHandler = new DocSectionHandler(this,m_level+1);  secHandler->startDocSection(attrib);  m_subsections.append(secHandler);}void DocSectionHandler::startParagraph(const QXmlAttributes& attrib){  ParagraphHandler *parHandler = new ParagraphHandler(this);  parHandler->startParagraph(attrib);  m_paragraphs.append(parHandler);}void DocSectionHandler::startInternal(const QXmlAttributes& attrib){  m_internal = new DocInternalHandler(this,m_level);  m_internal->startInternal(attrib);}void DocSectionHandler::startTitle(const QXmlAttributes& attrib){  m_title = new TitleHandler(this);  m_title->startTitle(attrib);}IDocIterator *DocSectionHandler::paragraphs() const{  return new DocSectionParaIterator(*this);}IDocIterator *DocSectionHandler::subSections() const{  return new DocSectionSubIterator(*this);}IDocInternal *DocSectionHandler::internal() const {   return m_internal; }//----------------------------------------------------------------------// DocInternal//----------------------------------------------------------------------DocInternalHandler::DocInternalHandler(IBaseHandler *parent,int level)  : m_parent(parent), m_level(level){  m_paragraphs.setAutoDelete(TRUE);  m_subsections.setAutoDelete(TRUE);  addStartHandler("para",this,&DocInternalHandler::startParagraph);  QString sectionKey;  sectionKey.sprintf("sect%d",level+1);  addStartHandler(sectionKey,this,&DocInternalHandler::startSubSection);  addEndHandler("internal",this,&DocInternalHandler::endInternal);}DocInternalHandler::~DocInternalHandler(){}void DocInternalHandler::startInternal(const QXmlAttributes&){  m_parent->setDelegate(this);  debug(2,"Start internal\n");}void DocInternalHandler::endInternal(){  m_parent->setDelegate(0);  debug(2,"End internal\n");}void DocInternalHandler::startSubSection(const QXmlAttributes& attrib){  DocSectionHandler *secHandler = new DocSectionHandler(this,m_level+1);  secHandler->startDocSection(attrib);  m_subsections.append(secHandler);}void DocInternalHandler::startParagraph(const QXmlAttributes& attrib){  ParagraphHandler *parHandler = new ParagraphHandler(this);  parHandler->startParagraph(attrib);  m_paragraphs.append(parHandler);}IDocIterator *DocInternalHandler::paragraphs() const{  return new DocInternalParaIterator(*this);}IDocIterator *DocInternalHandler::subSections() const{  return new DocInternalSubIterator(*this);}//----------------------------------------------------------------------// DocHandler//----------------------------------------------------------------------DocHandler::DocHandler(IBaseHandler *parent) : m_parent(parent){  m_children.setAutoDelete(TRUE);  addEndHandler("briefdescription",this,&DocHandler::endDoc);  addEndHandler("detaileddescription",this,&DocHandler::endDoc);  addEndHandler("inbodydescription",this,&DocHandler::endDoc);  //addEndHandler("internal"); // TODO: implement this as a section  addStartHandler("internal",this,&DocHandler::startInternal);  addStartHandler("para",this,&DocHandler::startParagraph);  addStartHandler("sect1",this,&DocHandler::startSect1);  addStartHandler("title",this,&DocHandler::startTitle);  //addStartHandler("internal");}DocHandler::~DocHandler(){}void DocHandler::startDoc(const QXmlAttributes& /*attrib*/){  m_parent->setDelegate(this);  debug(2,"start dochandler\n");}void DocHandler::endDoc(){  debug(2,"end dochandler\n");  m_parent->setDelegate(0);}void DocHandler::startParagraph(const QXmlAttributes& attrib){  ParagraphHandler *parHandler = new ParagraphHandler(this);  parHandler->startParagraph(attrib);  m_children.append(parHandler);}void DocHandler::startSect1(const QXmlAttributes& attrib){  DocSectionHandler *secHandler = new DocSectionHandler(this,1);  secHandler->startDocSection(attrib);  m_children.append(secHandler);}void DocHandler::startTitle(const QXmlAttributes& attrib){  TitleHandler *titleHandler = new TitleHandler(this);  titleHandler->startTitle(attrib);  m_children.append(titleHandler);}void DocHandler::startInternal(const QXmlAttributes& attrib){  m_internal = new DocInternalHandler(this,1);  m_internal->startInternal(attrib);}IDocIterator *DocHandler::contents() const{  return new DocIterator(*this);}IDocInternal *DocHandler::internal() const {   return m_internal; }

⌨️ 快捷键说明

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