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

📄 dochandler.cpp

📁 Doxygen的词根来源于Document(文档)和Oxygen(氧气)
💻 CPP
📖 第 1 页 / 共 4 页
字号:
  {    m_children.append(new TextNode(m_curString,IDocMarkup::Normal,0));    debug(2,"addTextNode() text=\"%s\"\n",        m_curString.data());    m_curString="";  }}IDocIterator *HighlightHandler::codeElements() const{  return new HighlightIterator(*this);}//----------------------------------------------------------------------// CodeLineHandler//----------------------------------------------------------------------CodeLineHandler::CodeLineHandler(IBaseHandler *parent)  : 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);  debug(2,"start codeline\n");}void CodeLineHandler::endCodeLine(){  addTextNode();  debug(2,"end codeline\n");  m_parent->setDelegate(0);}void CodeLineHandler::startLineNumber(const QXmlAttributes& attrib){  m_parent->setDelegate(this);  debug(2,"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,IDocMarkup::Normal,0));    debug(2,"addTextNode() text=\"%s\"\n",        m_curString.data());    m_curString="";  }}IDocIterator *CodeLineHandler::codeElements() const{  return new CodeLineIterator(*this);}//----------------------------------------------------------------------// ProgramListingHandler//----------------------------------------------------------------------ProgramListingHandler::ProgramListingHandler(IBaseHandler *parent)  : 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);  debug(2,"start programlisting\n");}void ProgramListingHandler::endProgramListing(){  debug(2,"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; }IDocIterator *ProgramListingHandler::codeLines() const{  return new ProgramListingIterator(*this);}//----------------------------------------------------------------------// FormulaHandler//----------------------------------------------------------------------FormulaHandler::FormulaHandler(IBaseHandler *parent)  : m_parent(parent){  addEndHandler("formula",this,&FormulaHandler::endFormula);}FormulaHandler::~FormulaHandler(){}void FormulaHandler::startFormula(const QXmlAttributes& attrib){  m_id = attrib.value("id");  m_curString="";  m_parent->setDelegate(this);}void FormulaHandler::endFormula(){  m_text = m_curString;  debug(2,"formula id=`%s' text=`%s'\n",m_id.data(),m_text.data());  m_parent->setDelegate(0);}//----------------------------------------------------------------------// AnchorHandler//----------------------------------------------------------------------AnchorHandler::AnchorHandler(IBaseHandler *parent)  : m_parent(parent){  addEndHandler("anchor",this,&AnchorHandler::endAnchor);}AnchorHandler::~AnchorHandler(){}void AnchorHandler::startAnchor(const QXmlAttributes& attrib){  m_id = attrib.value("id");  m_parent->setDelegate(this);}void AnchorHandler::endAnchor(){  debug(2,"anchor id=`%s'\n",m_id.data());  m_parent->setDelegate(0);}//----------------------------------------------------------------------// ImageHandler//----------------------------------------------------------------------ImageHandler::ImageHandler(IBaseHandler *parent)  : m_parent(parent){  addEndHandler("image",this,&ImageHandler::endImage);}ImageHandler::~ImageHandler(){}void ImageHandler::startImage(const QXmlAttributes& attrib){  m_name = attrib.value("name");  m_curString="";  m_parent->setDelegate(this);}void ImageHandler::endImage(){  m_caption = m_curString;  debug(2,"image name=`%s' caption=`%s'\n",m_name.data(),m_caption.data());  m_parent->setDelegate(0);}//----------------------------------------------------------------------// DotFileHandler//----------------------------------------------------------------------DotFileHandler::DotFileHandler(IBaseHandler *parent)  : m_parent(parent){  addEndHandler("dotfile",this,&DotFileHandler::endDotFile);}DotFileHandler::~DotFileHandler(){}void DotFileHandler::startDotFile(const QXmlAttributes& attrib){  m_name = attrib.value("name");  m_curString="";  m_parent->setDelegate(this);}void DotFileHandler::endDotFile(){  m_caption = m_curString;  debug(2,"image name=`%s' caption=`%s'\n",m_name.data(),m_caption.data());  m_parent->setDelegate(0);}//----------------------------------------------------------------------// IndexEntryHandler//----------------------------------------------------------------------IndexEntryHandler::IndexEntryHandler(IBaseHandler *parent)  : m_parent(parent){  addEndHandler("indexentry",this,&IndexEntryHandler::endIndexEntry);  addStartHandler("primaryie",this,&IndexEntryHandler::startPrimaryIE);  addEndHandler("primaryie",this,&IndexEntryHandler::endPrimaryIE);  addStartHandler("secondaryie",this,&IndexEntryHandler::startSecondaryIE);  addEndHandler("secondaryie",this,&IndexEntryHandler::endSecondaryIE);}IndexEntryHandler::~IndexEntryHandler(){}void IndexEntryHandler::startIndexEntry(const QXmlAttributes& /*attrib*/){  debug(2,"start index entry\n");  m_parent->setDelegate(this);}void IndexEntryHandler::endIndexEntry(){  debug(2,"index entry primary=`%s' secondary=`%s'\n",      m_primary.data(),m_secondary.data());  m_parent->setDelegate(0);}void IndexEntryHandler::startPrimaryIE(const QXmlAttributes& /*attrib*/){  m_curString="";}void IndexEntryHandler::endPrimaryIE(){  m_primary = m_curString;}void IndexEntryHandler::startSecondaryIE(const QXmlAttributes& /*attrib*/){  m_curString="";}void IndexEntryHandler::endSecondaryIE(){  m_secondary = m_curString;}//----------------------------------------------------------------------// EntryHandler//----------------------------------------------------------------------EntryHandler::EntryHandler(IBaseHandler *parent)  : m_parent(parent){  m_children.setAutoDelete(TRUE);  addEndHandler("entry",this,&EntryHandler::endEntry);  addStartHandler("para",this,&EntryHandler::startParagraph);}EntryHandler::~EntryHandler(){}void EntryHandler::startEntry(const QXmlAttributes&){  m_parent->setDelegate(this);}void EntryHandler::endEntry(){  m_parent->setDelegate(0);}void EntryHandler::startParagraph(const QXmlAttributes& attrib){  ParagraphHandler *ph = new ParagraphHandler(this);  ph->startParagraph(attrib);  m_children.append(ph);}IDocIterator *EntryHandler::contents() const{  return new EntryIterator(*this);}//----------------------------------------------------------------------// RowHandler//----------------------------------------------------------------------RowHandler::RowHandler(IBaseHandler *parent)  : m_parent(parent){  m_children.setAutoDelete(TRUE);  addEndHandler("row",this,&RowHandler::endRow);  addStartHandler("entry",this,&RowHandler::startEntry);}RowHandler::~RowHandler(){}void RowHandler::startRow(const QXmlAttributes&){  m_parent->setDelegate(this);}void RowHandler::endRow(){  m_parent->setDelegate(0);}void RowHandler::startEntry(const QXmlAttributes& attrib){  EntryHandler *eh = new EntryHandler(this);  eh->startEntry(attrib);  m_children.append(eh);}IDocIterator *RowHandler::entries() const{  return new RowIterator(*this);}//----------------------------------------------------------------------// TableHandler//----------------------------------------------------------------------TableHandler::TableHandler(IBaseHandler *parent)  :  m_parent(parent){  m_children.setAutoDelete(TRUE);  addEndHandler("table",this,&TableHandler::endTable);  addStartHandler("row",this,&TableHandler::startRow);  addStartHandler("caption",this,&TableHandler::startCaption);  addEndHandler("caption",this,&TableHandler::endCaption);}TableHandler::~TableHandler(){}void TableHandler::startTable(const QXmlAttributes& attrib){  m_parent->setDelegate(this);  m_numColumns = attrib.value("cols").toInt();  debug(2,"table cols=%d\n",m_numColumns);}void TableHandler::endTable(){  m_parent->setDelegate(0);}void TableHandler::startRow(const QXmlAttributes& attrib){  RowHandler *rh = new RowHandler(this);  rh->startRow(attrib);  m_children.append(rh);}void TableHandler::startCaption(const QXmlAttributes& /*attrib*/){  m_curString="";}void TableHandler::endCaption(){  m_caption = m_curString;}IDocIterator *TableHandler::rows() const{  return new TableIterator(*this);}//----------------------------------------------------------------------// CopyHandler//----------------------------------------------------------------------CopyHandler::CopyHandler(IBaseHandler *parent)   : m_parent(parent){  m_children.setAutoDelete(TRUE);    addEndHandler("copydoc",this,&CopyHandler::endCopy);  addStartHandler("para",this,&CopyHandler::startParagraph);}CopyHandler::~CopyHandler(){}void CopyHandler::startCopy(const QXmlAttributes& /*attrib*/){  m_parent->setDelegate(this);  debug(2,"start copy handler\n");}void CopyHandler::endCopy(){  debug(2,"end copy handler\n");  m_parent->setDelegate(0);}void CopyHandler::startParagraph(const QXmlAttributes& attrib){  ParagraphHandler *parHandler = new ParagraphHandler(this);  parHandler->startParagraph(attrib);  m_children.append(parHandler);}IDocIterator *CopyHandler::contents() const{  return new CopyIterator(*this);}//----------------------------------------------------------------------// VerbatimHandler//----------------------------------------------------------------------VerbatimHandler::VerbatimHandler(IBaseHandler *parent)  :  m_parent(parent), m_type(IDocVerbatim::Invalid){  addEndHandler("verbatim",this,&VerbatimHandler::endVerbatim);  addEndHandler("latexonly",this,&VerbatimHandler::endVerbatim);  addEndHandler("htmlonly",this,&VerbatimHandler::endVerbatim);}VerbatimHandler::~VerbatimHandler(){}void VerbatimHandler::startVerbatim(const QXmlAttributes&,Types type){  m_type = type;  m_parent->setDelegate(this);  m_curString="";}void VerbatimHandler::endVerbatim(){  m_text = m_curString;  m_parent->setDelegate(0);}//----------------------------------------------------------------------// SymbolHandler//----------------------------------------------------------------------SymbolHandler::SymbolHandler(IBaseHandler *parent,Types type)  :  m_parent(parent), m_letter('\0'), m_type(type){  addEndHandler("symbol");  switch (type)  {    case IDocSymbol::Invalid: m_typeString="invalid"; break;    case IDocSymbol::Umlaut:  m_typeString="umlaut"; break;    case IDocSymbol::Acute:   m_typeString="acute"; break;    case IDocSymbol::Grave:   m_typeString="grave"; break;    case IDocSymbol::Circ:    m_typeString="circ"; break;    case IDocSymbol::Tilde:   m_typeString="tilde"; break;    case IDocSymbol::Szlig:   m_typeString="szlig"; break;    case IDocSymbol::Cedil:   m_typeString="cedil"; break;    case IDocSymbol::Ring:    m_typeString="ring"; break;    case IDocSymbol::Nbsp:    m_typeString="nbsp"; break;    case IDocSymbol::Copy:    m_typeString="copy"; break;  }}SymbolHandler::~SymbolHandler(){}void SymbolHandler::startSymbol(const QXmlAttributes& attrib){  QString ls = attrib.value("char");  if (!ls.isEmpty()) m_letter = ls.latin1()[0];}//----------------------------------------------------------------------// ParagraphHandler//----------------------------------------------------------------------ParagraphHandler::ParagraphHandler(IBaseHandler *parent)   : m_parent(parent){  m_children.setAutoDelete(TRUE);  m_markupHandler = new MarkupHandler(m_children,m_curString);  // preformatted

⌨️ 快捷键说明

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