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

📄 dochandler.cpp

📁 doxygen(一个自动从源代码生成文档的工具)的源代码
💻 CPP
📖 第 1 页 / 共 3 页
字号:
void FormulaHandler::startFormula(const QXmlAttributes& attrib){  m_id = attrib.value("id");  m_curString="";  m_parent->setDelegate(this);}void FormulaHandler::endFormula(){  m_text = m_curString;  printf("formula id=`%s' text=`%s'\n",m_id.data(),m_text.data());  m_parent->setDelegate(0);}//----------------------------------------------------------------------// ImageHandler//----------------------------------------------------------------------ImageHandler::ImageHandler(IBaseHandler *parent)  : DocNode(Image), 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;  printf("image name=`%s' caption=`%s'\n",m_name.data(),m_caption.data());  m_parent->setDelegate(0);}//----------------------------------------------------------------------// DotFileHandler//----------------------------------------------------------------------DotFileHandler::DotFileHandler(IBaseHandler *parent)  : DocNode(DotFile), m_parent(parent){  addEndHandler("image",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;  printf("image name=`%s' caption=`%s'\n",m_name.data(),m_caption.data());  m_parent->setDelegate(0);}//----------------------------------------------------------------------// IndexEntryHandler//----------------------------------------------------------------------IndexEntryHandler::IndexEntryHandler(IBaseHandler *parent)  : DocNode(IndexEntry), 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*/){  printf("start index entry\n");  m_parent->setDelegate(this);}void IndexEntryHandler::endIndexEntry(){  printf("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)  : DocNode(Entry), 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);}//----------------------------------------------------------------------// RowHandler//----------------------------------------------------------------------RowHandler::RowHandler(IBaseHandler *parent)  : DocNode(Row), 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);}//----------------------------------------------------------------------// TableHandler//----------------------------------------------------------------------TableHandler::TableHandler(IBaseHandler *parent)  : DocNode(Table), m_parent(parent){  m_children.setAutoDelete(TRUE);  addEndHandler("table",this,&TableHandler::endTable);  addStartHandler("row",this,&TableHandler::startRow);}TableHandler::~TableHandler(){}void TableHandler::startTable(const QXmlAttributes& attrib){  m_parent->setDelegate(this);  m_numColumns = attrib.value("cols").toInt();  printf("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);}//----------------------------------------------------------------------// ParagraphHandler//----------------------------------------------------------------------ParagraphHandler::ParagraphHandler(IBaseHandler *parent)   : DocNode(Para), m_parent(parent){  m_children.setAutoDelete(TRUE);  m_markupHandler = new MarkupHandler(m_children,m_curString);  setFallBackHandler(m_markupHandler);  addEndHandler("para",this,&ParagraphHandler::endParagraph);  addStartHandler("itemizedlist",this,&ParagraphHandler::startItemizedList);  addStartHandler("orderedlist",this,&ParagraphHandler::startOrderedList);  addStartHandler("parameterlist",this,&ParagraphHandler::startParameterList);  addStartHandler("simplesect",this,&ParagraphHandler::startSimpleSect);  addStartHandler("ref",this,&ParagraphHandler::startRef);  addStartHandler("variablelist",this,&ParagraphHandler::startVariableList);  addStartHandler("hruler",this,&ParagraphHandler::startHRuler);  addStartHandler("linebreak",this,&ParagraphHandler::startLineBreak);  addStartHandler("ulink",this,&ParagraphHandler::startULink);  addStartHandler("email",this,&ParagraphHandler::startEMail);  addStartHandler("link",this,&ParagraphHandler::startLink);  addStartHandler("programlisting",this,&ParagraphHandler::startProgramListing);  addStartHandler("formula",this,&ParagraphHandler::startFormula);  addStartHandler("image",this,&ParagraphHandler::startImage);  addStartHandler("dotfile",this,&ParagraphHandler::startDotFile);  addStartHandler("indexentry",this,&ParagraphHandler::startIndexEntry);  addStartHandler("table",this,&ParagraphHandler::startTable);}ParagraphHandler::~ParagraphHandler(){  delete m_markupHandler;}void ParagraphHandler::startParagraph(const QXmlAttributes& /*attrib*/){  m_parent->setDelegate(this);  printf("para\n");}void ParagraphHandler::endParagraph(){  addTextNode();  printf("end para\n");  m_parent->setDelegate(0);}void ParagraphHandler::startItemizedList(const QXmlAttributes& attrib){  addTextNode();  ListHandler *listHandler = new ListHandler(ItemizedList,this);  listHandler->startList(attrib);  m_children.append(listHandler);}void ParagraphHandler::startOrderedList(const QXmlAttributes& attrib){  addTextNode();  ListHandler *listHandler = new ListHandler(OrderedList,this);  listHandler->startList(attrib);  m_children.append(listHandler);}void ParagraphHandler::startParameterList(const QXmlAttributes& attrib){  addTextNode();  ParameterListHandler *parListHandler = new ParameterListHandler(this);  parListHandler->startParameterList(attrib);  m_children.append(parListHandler);}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::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="";  }}//----------------------------------------------------------------------// DocHandler//----------------------------------------------------------------------DocHandler::DocHandler(IBaseHandler *parent) : m_parent(parent){  m_children.setAutoDelete(TRUE);  addEndHandler("briefdescription",this,&DocHandler::endDoc);  addEndHandler("detaileddescription",this,&DocHandler::endDoc);  addStartHandler("para",this,&DocHandler::startParagraph);}DocHandler::~DocHandler(){}void DocHandler::startDoc(const QXmlAttributes& /*attrib*/){  m_parent->setDelegate(this);  printf("start dochandler\n");}void DocHandler::endDoc(){  printf("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);}

⌨️ 快捷键说明

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