Doxygen
Loading...
Searching...
No Matches
PerlModDocVisitor Class Reference

Concrete visitor implementation for PerlMod output. More...

Inheritance diagram for PerlModDocVisitor:
Collaboration diagram for PerlModDocVisitor:

Public Member Functions

 PerlModDocVisitor (PerlModOutput &)
void finish ()
void operator() (const DocWord &)
void operator() (const DocLinkedWord &)
void operator() (const DocWhiteSpace &)
void operator() (const DocSymbol &)
void operator() (const DocEmoji &)
void operator() (const DocURL &)
void operator() (const DocLineBreak &)
void operator() (const DocHorRuler &)
void operator() (const DocStyleChange &)
void operator() (const DocVerbatim &)
void operator() (const DocAnchor &)
void operator() (const DocInclude &)
void operator() (const DocIncOperator &)
void operator() (const DocFormula &)
void operator() (const DocIndexEntry &)
void operator() (const DocSimpleSectSep &)
void operator() (const DocCite &)
void operator() (const DocSeparator &)
void operator() (const DocAutoList &)
void operator() (const DocAutoListItem &)
void operator() (const DocPara &)
void operator() (const DocRoot &)
void operator() (const DocSimpleSect &)
void operator() (const DocTitle &)
void operator() (const DocSimpleList &)
void operator() (const DocSimpleListItem &)
void operator() (const DocSection &)
void operator() (const DocHtmlList &)
void operator() (const DocHtmlListItem &)
void operator() (const DocHtmlDescList &)
void operator() (const DocHtmlDescTitle &)
void operator() (const DocHtmlDescData &)
void operator() (const DocHtmlTable &)
void operator() (const DocHtmlRow &)
void operator() (const DocHtmlCell &)
void operator() (const DocHtmlCaption &)
void operator() (const DocInternal &)
void operator() (const DocHRef &)
void operator() (const DocHtmlSummary &)
void operator() (const DocHtmlDetails &)
void operator() (const DocHtmlHeader &)
void operator() (const DocImage &)
void operator() (const DocDotFile &)
void operator() (const DocMscFile &)
void operator() (const DocDiaFile &)
void operator() (const DocPlantUmlFile &)
void operator() (const DocMermaidFile &)
void operator() (const DocLink &)
void operator() (const DocRef &)
void operator() (const DocSecRefItem &)
void operator() (const DocSecRefList &)
void operator() (const DocParamSect &)
void operator() (const DocParamList &)
void operator() (const DocXRefItem &)
void operator() (const DocInternalRef &)
void operator() (const DocText &)
void operator() (const DocHtmlBlockQuote &)
void operator() (const DocVhdlFlow &)
void operator() (const DocParBlock &)
Public Member Functions inherited from DocVisitor
 DocVisitor ()
virtual ~DocVisitor ()
CodeParserInterfacegetCodeParser (const QCString &langExt)
void pushHidden (bool hide)
bool popHidden ()

Private Member Functions

template<class T>
void visitChildren (const T &t)
void addLink (const QCString &ref, const QCString &file, const QCString &anchor)
void enterText ()
void leaveText ()
void openItem (const QCString &)
void closeItem ()
void singleItem (const QCString &)
void openSubBlock (const QCString &=QCString())
void closeSubBlock ()

Private Attributes

PerlModOutputm_output
bool m_textmode
bool m_textblockstart
QCString m_other

Detailed Description

Concrete visitor implementation for PerlMod output.

Definition at line 271 of file perlmodgen.cpp.

Constructor & Destructor Documentation

◆ PerlModDocVisitor()

PerlModDocVisitor::PerlModDocVisitor ( PerlModOutput & output)

Definition at line 383 of file perlmodgen.cpp.

384 : m_output(output), m_textmode(false), m_textblockstart(FALSE)
385{
386 m_output.openList("doc");
387}
PerlModOutput & m_output
#define FALSE
Definition qcstring.h:34

References FALSE, m_output, m_textblockstart, and m_textmode.

Member Function Documentation

◆ addLink()

void PerlModDocVisitor::addLink ( const QCString & ref,
const QCString & file,
const QCString & anchor )
private

Definition at line 396 of file perlmodgen.cpp.

397{
398 QCString link = file;
399 if (!anchor.isEmpty())
400 (link += "_1") += anchor;
401 m_output.addFieldQuotedString("link", link);
402}
bool isEmpty() const
Returns TRUE iff the string is empty.
Definition qcstring.h:163

References QCString::isEmpty(), and m_output.

Referenced by operator()(), operator()(), and operator()().

◆ closeItem()

◆ closeSubBlock()

void PerlModDocVisitor::closeSubBlock ( )
private

◆ enterText()

void PerlModDocVisitor::enterText ( )
private

Definition at line 416 of file perlmodgen.cpp.

417{
418 if (m_textmode)
419 return;
420 openItem("text");
421 m_output.addField("content").add('\'');
422 m_textmode = true;
423}
void openItem(const QCString &)

References m_output, m_textmode, and openItem().

Referenced by operator()(), operator()(), operator()(), and operator()().

◆ finish()

void PerlModDocVisitor::finish ( )

Definition at line 389 of file perlmodgen.cpp.

390{
391 leaveText();
392 m_output.closeList()
393 .add(m_other);
394}

References leaveText(), m_other, and m_output.

Referenced by addPerlModDocBlock().

◆ leaveText()

void PerlModDocVisitor::leaveText ( )
private

Definition at line 425 of file perlmodgen.cpp.

426{
427 if (!m_textmode)
428 return;
429 m_textmode = false;
431 .add('\'')
432 .closeHash();
433}

References m_output, and m_textmode.

Referenced by closeItem(), closeSubBlock(), finish(), openItem(), openSubBlock(), operator()(), operator()(), operator()(), and operator()().

◆ openItem()

void PerlModDocVisitor::openItem ( const QCString & name)
private

◆ openSubBlock()

void PerlModDocVisitor::openSubBlock ( const QCString & s = QCString())
private

◆ operator()() [1/59]

void PerlModDocVisitor::operator() ( const DocAnchor & anc)

Definition at line 664 of file perlmodgen.cpp.

665{
666 QCString anchor = anc.file() + "_1" + anc.anchor();
667 openItem("anchor");
668 m_output.addFieldQuotedString("id", anchor);
669 closeItem();
670}
QCString anchor() const
Definition docnode.h:232
QCString file() const
Definition docnode.h:233

References DocAnchor::anchor(), closeItem(), DocAnchor::file(), m_output, and openItem().

◆ operator()() [2/59]

void PerlModDocVisitor::operator() ( const DocAutoList & l)

Definition at line 771 of file perlmodgen.cpp.

772{
773 openItem("list");
774 m_output.addFieldQuotedString("style", l.isEnumList() ? "ordered" : (l.isCheckedList() ? "check" :"itemized"));
775 openSubBlock("content");
776 visitChildren(l);
778 closeItem();
779}
bool isCheckedList() const
Definition docnode.h:582
bool isEnumList() const
Definition docnode.h:580
void visitChildren(const T &t)
void openSubBlock(const QCString &=QCString())

References closeItem(), closeSubBlock(), DocAutoList::isCheckedList(), DocAutoList::isEnumList(), m_output, openItem(), openSubBlock(), and visitChildren().

◆ operator()() [3/59]

void PerlModDocVisitor::operator() ( const DocAutoListItem & li)

Definition at line 781 of file perlmodgen.cpp.

782{
783 openSubBlock();
784 switch (li.itemNumber())
785 {
786 case DocAutoList::Unchecked: // unchecked
787 m_output.addFieldQuotedString("style", "Unchecked");
788 break;
789 case DocAutoList::Checked_x: // checked with x
790 case DocAutoList::Checked_X: // checked with X
791 m_output.addFieldQuotedString("style", "Checked");
792 break;
793 default:
794 break;
795 }
796 visitChildren(li);
798}
int itemNumber() const
Definition docnode.h:598

References DocAutoList::Checked_X, DocAutoList::Checked_x, closeSubBlock(), DocAutoListItem::itemNumber(), m_output, openSubBlock(), DocAutoList::Unchecked, and visitChildren().

◆ operator()() [4/59]

void PerlModDocVisitor::operator() ( const DocCite & cite)

Definition at line 747 of file perlmodgen.cpp.

748{
749 openItem("cite");
750 auto opt = cite.option();
751 QCString txt;
752 if (!cite.file().isEmpty())
753 {
754 txt = cite.getText();
755 }
756 else
757 {
758 if (!opt.noPar()) txt += "[";
759 txt += cite.target();
760 if (!opt.noPar()) txt += "]";
761 }
762 m_output.addFieldQuotedString("text", txt);
763 closeItem();
764}
QCString getText() const
Definition docnode.cpp:974
CiteInfoOption option() const
Definition docnode.h:253
QCString target() const
Definition docnode.h:252
QCString file() const
Definition docnode.h:248

References closeItem(), DocCite::file(), DocCite::getText(), QCString::isEmpty(), m_output, openItem(), DocCite::option(), and DocCite::target().

◆ operator()() [5/59]

void PerlModDocVisitor::operator() ( const DocDiaFile & df)

Definition at line 1140 of file perlmodgen.cpp.

1141{
1142#if 0
1143 m_output.add("<diafile name=\""); m_output.add(df->file()); m_output.add("\">");
1144#endif
1145 visitChildren(df);
1146#if 0
1147 m_output.add("</diafile>");
1148#endif
1149}
QCString file() const
Definition docnode.h:685

References DocDiagramFileBase::file(), m_output, and visitChildren().

◆ operator()() [6/59]

void PerlModDocVisitor::operator() ( const DocDotFile & df)

Definition at line 1119 of file perlmodgen.cpp.

1120{
1121#if 0
1122 m_output.add("<dotfile name=\""); m_output.add(df->file()); m_output.add("\">");
1123#endif
1124 visitChildren(df);
1125#if 0
1126 m_output.add("</dotfile>");
1127#endif
1128}

References DocDiagramFileBase::file(), m_output, and visitChildren().

◆ operator()() [7/59]

void PerlModDocVisitor::operator() ( const DocEmoji & sy)

Definition at line 566 of file perlmodgen.cpp.

567{
568 enterText();
569 const char *name = EmojiEntityMapper::instance().name(sy.index());
570 if (name)
571 {
572 m_output.add(name);
573 }
574 else
575 {
576 m_output.add(sy.name());
577 }
578}
int index() const
Definition docnode.h:345
QCString name() const
Definition docnode.h:344
const char * name(int index) const
Access routine to the name of the Emoji entity.
Definition emoji.cpp:2026
static EmojiEntityMapper & instance()
Returns the one and only instance of the Emoji entity mapper.
Definition emoji.cpp:1978

References enterText(), DocEmoji::index(), EmojiEntityMapper::instance(), m_output, DocEmoji::name(), and EmojiEntityMapper::name().

◆ operator()() [8/59]

void PerlModDocVisitor::operator() ( const DocFormula & f)

Definition at line 722 of file perlmodgen.cpp.

723{
724 openItem("formula");
725 QCString id;
726 id += QCString().setNum(f.id());
727 m_output.addFieldQuotedString("id", id).addFieldQuotedString("content", f.text());
728 closeItem();
729}
QCString text() const
Definition docnode.h:533
int id() const
Definition docnode.h:535

References closeItem(), DocFormula::id(), m_output, openItem(), QCString::setNum(), and DocFormula::text().

◆ operator()() [9/59]

void PerlModDocVisitor::operator() ( const DocHorRuler & )

Definition at line 592 of file perlmodgen.cpp.

593{
594 singleItem("hruler");
595}
void singleItem(const QCString &)

References singleItem().

◆ operator()() [10/59]

void PerlModDocVisitor::operator() ( const DocHRef & href)

Definition at line 1035 of file perlmodgen.cpp.

1036{
1037#if 0
1038 m_output.add("<ulink url=\""); m_output.add(href.url()); m_output.add("\">");
1039#endif
1040 visitChildren(href);
1041#if 0
1042 m_output.add("</ulink>");
1043#endif
1044}
QCString url() const
Definition docnode.h:839

References m_output, DocHRef::url(), and visitChildren().

◆ operator()() [11/59]

void PerlModDocVisitor::operator() ( const DocHtmlBlockQuote & q)

Definition at line 1334 of file perlmodgen.cpp.

1335{
1336 openItem("blockquote");
1337 openSubBlock("content");
1338 visitChildren(q);
1339 closeSubBlock();
1340 closeItem();
1341}

References closeItem(), closeSubBlock(), openItem(), openSubBlock(), and visitChildren().

◆ operator()() [12/59]

void PerlModDocVisitor::operator() ( const DocHtmlCaption & c)

Definition at line 1013 of file perlmodgen.cpp.

1014{
1015#if 0
1016 m_output.add("<caption>");
1017#endif
1018 visitChildren(c);
1019#if 0
1020 m_output.add("</caption>\n");
1021#endif
1022}

References m_output, and visitChildren().

◆ operator()() [13/59]

void PerlModDocVisitor::operator() ( const DocHtmlCell & c)

Definition at line 1002 of file perlmodgen.cpp.

1003{
1004#if 0
1005 if (c.isHeading()) m_output.add("<entry thead=\"yes\">"); else m_output.add("<entry thead=\"no\">");
1006#endif
1007 visitChildren(c);
1008#if 0
1009 m_output.add("</entry>");
1010#endif
1011}
bool isHeading() const
Definition docnode.h:1206

References DocHtmlCell::isHeading(), m_output, and visitChildren().

◆ operator()() [14/59]

void PerlModDocVisitor::operator() ( const DocHtmlDescData & dd)

Definition at line 964 of file perlmodgen.cpp.

965{
966#if 0
967 m_output.add("<listitem>");
968#endif
969 visitChildren(dd);
970#if 0
971 m_output.add("</listitem>\n");
972#endif
973}

References m_output, and visitChildren().

◆ operator()() [15/59]

void PerlModDocVisitor::operator() ( const DocHtmlDescList & dl)

Definition at line 942 of file perlmodgen.cpp.

943{
944#if 0
945 m_output.add("<variablelist>\n");
946#endif
947 visitChildren(dl);
948#if 0
949 m_output.add("</variablelist>\n");
950#endif
951}

References m_output, and visitChildren().

◆ operator()() [16/59]

void PerlModDocVisitor::operator() ( const DocHtmlDescTitle & dt)

Definition at line 953 of file perlmodgen.cpp.

954{
955#if 0
956 m_output.add("<varlistentry><term>");
957#endif
958 visitChildren(dt);
959#if 0
960 m_output.add("</term></varlistentry>\n");
961#endif
962}

References m_output, and visitChildren().

◆ operator()() [17/59]

void PerlModDocVisitor::operator() ( const DocHtmlDetails & details)

Definition at line 1055 of file perlmodgen.cpp.

1056{
1057 openItem("details");
1058 auto summary = details.summary();
1059 if (summary)
1060 {
1061 std::visit(*this,*summary);
1062 }
1063 openSubBlock("content");
1064 visitChildren(details);
1065 closeSubBlock();
1066 closeItem();
1067}
const DocNodeVariant * summary() const
Definition docnode.h:873

References closeItem(), closeSubBlock(), openItem(), openSubBlock(), and visitChildren().

◆ operator()() [18/59]

void PerlModDocVisitor::operator() ( const DocHtmlHeader & header)

Definition at line 1069 of file perlmodgen.cpp.

1070{
1071#if 0
1072 m_output.add("<sect"); m_output.add(header.level()); m_output.add(">");
1073#endif
1074 visitChildren(header);
1075#if 0
1076 m_output.add("</sect"); m_output.add(header.level()); m_output.add(">\n");
1077#endif
1078}
int level() const
Definition docnode.h:886

References DocHtmlHeader::level(), m_output, and visitChildren().

◆ operator()() [19/59]

void PerlModDocVisitor::operator() ( const DocHtmlList & l)

Definition at line 907 of file perlmodgen.cpp.

908{
909 openItem("list");
910 m_output.addFieldQuotedString("style", (l.type() == DocHtmlList::Ordered) ? "ordered" : "itemized");
911 for (const auto &opt : l.attribs())
912 {
913 if (opt.name=="type")
914 {
915 m_output.addFieldQuotedString("list_type", qPrint(opt.value));
916 }
917 if (opt.name=="start")
918 {
919 m_output.addFieldQuotedString("start", qPrint(opt.value));
920 }
921 }
922 openSubBlock("content");
923 visitChildren(l);
925 closeItem();
926}
const HtmlAttribList & attribs() const
Definition docnode.h:1015
Type type() const
Definition docnode.h:1014
const char * qPrint(const char *s)
Definition qcstring.h:687

References DocHtmlList::attribs(), closeItem(), closeSubBlock(), m_output, openItem(), openSubBlock(), DocHtmlList::Ordered, qPrint(), DocHtmlList::type(), and visitChildren().

◆ operator()() [20/59]

void PerlModDocVisitor::operator() ( const DocHtmlListItem & l)

Definition at line 928 of file perlmodgen.cpp.

929{
930 for (const auto &opt : l.attribs())
931 {
932 if (opt.name=="value")
933 {
934 m_output.addFieldQuotedString("item_value", qPrint(opt.value));
935 }
936 }
937 openSubBlock();
938 visitChildren(l);
940}
const HtmlAttribList & attribs() const
Definition docnode.h:1176

References DocHtmlListItem::attribs(), closeSubBlock(), m_output, openSubBlock(), qPrint(), and visitChildren().

◆ operator()() [21/59]

void PerlModDocVisitor::operator() ( const DocHtmlRow & r)

Definition at line 991 of file perlmodgen.cpp.

992{
993#if 0
994 m_output.add("<row>\n");
995#endif
996 visitChildren(r);
997#if 0
998 m_output.add("</row>\n");
999#endif
1000}

References m_output, and visitChildren().

◆ operator()() [22/59]

void PerlModDocVisitor::operator() ( const DocHtmlSummary & summary)

Definition at line 1046 of file perlmodgen.cpp.

1047{
1048 openItem("summary");
1049 openSubBlock("content");
1050 visitChildren(summary);
1051 closeSubBlock();
1052 closeItem();
1053}

References closeItem(), closeSubBlock(), openItem(), openSubBlock(), and visitChildren().

◆ operator()() [23/59]

void PerlModDocVisitor::operator() ( const DocHtmlTable & t)

Definition at line 975 of file perlmodgen.cpp.

976{
977#if 0
978 m_output.add("<table rows=\""); m_output.add(t.numRows());
979 m_output.add("\" cols=\""); m_output.add(t.numCols()); m_output.add("\">");
980#endif
981 if (t.caption())
982 {
983 std::visit(*this,*t.caption());
984 }
985 visitChildren(t);
986#if 0
987 m_output.add("</table>\n");
988#endif
989}
size_t numRows() const
Definition docnode.h:1279
const DocNodeVariant * caption() const
Definition docnode.cpp:2250

References DocHtmlTable::caption(), m_output, DocHtmlTable::numRows(), and visitChildren().

◆ operator()() [24/59]

void PerlModDocVisitor::operator() ( const DocImage & img)

Definition at line 1080 of file perlmodgen.cpp.

1081{
1082#if 0
1083 m_output.add("<image type=\"");
1084 switch(img.type())
1085 {
1086 case DocImage::Html: m_output.add("html"); break;
1087 case DocImage::Latex: m_output.add("latex"); break;
1088 case DocImage::Rtf: m_output.add("rtf"); break;
1089 }
1090 m_output.add("\"");
1091
1092 QCString baseName=img.name();
1093 int i;
1094 if ((i=baseName.findRev('/'))!=-1 || (i=baseName.findRev('\\'))!=-1)
1095 {
1096 baseName=baseName.right(baseName.length()-i-1);
1097 }
1098 m_output.add(" name=\""); m_output.add(baseName); m_output.add("\"");
1099 if (!img.width().isEmpty())
1100 {
1101 m_output.add(" width=\"");
1102 m_output.addQuoted(img.width());
1103 m_output.add("\"");
1104 }
1105 else if (!img.height().isEmpty())
1106 {
1107 m_output.add(" height=\"");
1108 m_output.addQuoted(img.height());
1109 m_output.add("\"");
1110 }
1111 m_output.add(">");
1112#endif
1113 visitChildren(img);
1114#if 0
1115 m_output.add("</image>");
1116#endif
1117}
QCString name() const
Definition docnode.h:648
QCString height() const
Definition docnode.h:651
Type type() const
Definition docnode.h:647
QCString width() const
Definition docnode.h:650
size_t length() const
Returns the length of the string, not counting the 0-terminator.
Definition qcstring.h:166
QCString right(size_t len) const
Definition qcstring.h:234
int findRev(char c, int index=-1, bool cs=TRUE) const
Definition qcstring.cpp:96

References QCString::findRev(), DocImage::height(), DocImage::Html, QCString::isEmpty(), DocImage::Latex, QCString::length(), m_output, DocImage::name(), QCString::right(), DocImage::Rtf, DocImage::type(), visitChildren(), and DocImage::width().

◆ operator()() [25/59]

void PerlModDocVisitor::operator() ( const DocInclude & inc)

Definition at line 672 of file perlmodgen.cpp.

673{
674 const char *type = nullptr;
675 switch (inc.type())
676 {
678 return;
680 return;
681 case DocInclude::DontInclude: return;
682 case DocInclude::DontIncWithLines: return;
683 case DocInclude::HtmlInclude: type = "htmlonly"; break;
684 case DocInclude::LatexInclude: type = "latexonly"; break;
685 case DocInclude::RtfInclude: type = "rtfonly"; break;
686 case DocInclude::ManInclude: type = "manonly"; break;
687 case DocInclude::XmlInclude: type = "xmlonly"; break;
688 case DocInclude::DocbookInclude: type = "docbookonly"; break;
689 case DocInclude::VerbInclude: type = "preformatted"; break;
690 case DocInclude::Snippet: return;
691 case DocInclude::SnippetWithLines: return;
692 }
693 openItem(type);
694 m_output.addFieldQuotedString("content", inc.text());
695 closeItem();
696}
@ LatexInclude
Definition docnode.h:437
@ SnippetWithLines
Definition docnode.h:438
@ DontIncWithLines
Definition docnode.h:439
@ IncWithLines
Definition docnode.h:438
@ HtmlInclude
Definition docnode.h:437
@ VerbInclude
Definition docnode.h:437
@ DontInclude
Definition docnode.h:437
@ DocbookInclude
Definition docnode.h:439
Type type() const
Definition docnode.h:451
QCString text() const
Definition docnode.h:452

References closeItem(), DocInclude::DocbookInclude, DocInclude::DontInclude, DocInclude::DontIncWithLines, DocInclude::HtmlInclude, DocInclude::Include, DocInclude::IncWithLines, DocInclude::LatexInclude, m_output, DocInclude::ManInclude, openItem(), DocInclude::RtfInclude, DocInclude::Snippet, DocInclude::SnippetWithLines, DocInclude::text(), DocInclude::type(), DocInclude::VerbInclude, and DocInclude::XmlInclude.

◆ operator()() [26/59]

void PerlModDocVisitor::operator() ( const DocIncOperator & )

Definition at line 698 of file perlmodgen.cpp.

699{
700#if 0
701 //printf("DocIncOperator: type=%d first=%d, last=%d text='%s'\n",
702 // op.type(),op.isFirst(),op.isLast(),op.text().data());
703 if (op.isFirst())
704 {
705 m_output.add("<programlisting>");
706 }
707 if (op.type()!=DocIncOperator::Skip)
708 {
709 parseCode(m_ci,op.context(),op.text(),FALSE,0);
710 }
711 if (op.isLast())
712 {
713 m_output.add("</programlisting>");
714 }
715 else
716 {
717 m_output.add('\n');
718 }
719#endif
720}

References FALSE, m_output, and DocIncOperator::Skip.

◆ operator()() [27/59]

void PerlModDocVisitor::operator() ( const DocIndexEntry & )

Definition at line 731 of file perlmodgen.cpp.

732{
733#if 0
734 m_output.add("<indexentry>"
735 "<primaryie>");
736 m_output.addQuoted(ie->entry());
737 m_output.add("</primaryie>"
738 "<secondaryie></secondaryie>"
739 "</indexentry>");
740#endif
741}

References m_output.

◆ operator()() [28/59]

void PerlModDocVisitor::operator() ( const DocInternal & i)

Definition at line 1024 of file perlmodgen.cpp.

1025{
1026#if 0
1027 m_output.add("<internal>");
1028#endif
1029 visitChildren(i);
1030#if 0
1031 m_output.add("</internal>");
1032#endif
1033}

References m_output, and visitChildren().

◆ operator()() [29/59]

void PerlModDocVisitor::operator() ( const DocInternalRef & ref)

Definition at line 1319 of file perlmodgen.cpp.

1320{
1321 openItem("ref");
1322 addLink(QCString(),ref.file(),ref.anchor());
1323 openSubBlock("content");
1324 visitChildren(ref);
1325 closeSubBlock();
1326 closeItem();
1327}
QCString file() const
Definition docnode.h:820
QCString anchor() const
Definition docnode.h:822
void addLink(const QCString &ref, const QCString &file, const QCString &anchor)

References addLink(), DocInternalRef::anchor(), closeItem(), closeSubBlock(), DocInternalRef::file(), openItem(), openSubBlock(), and visitChildren().

◆ operator()() [30/59]

void PerlModDocVisitor::operator() ( const DocLineBreak & )

Definition at line 587 of file perlmodgen.cpp.

588{
589 singleItem("linebreak");
590}

References singleItem().

◆ operator()() [31/59]

void PerlModDocVisitor::operator() ( const DocLink & lnk)

Definition at line 1173 of file perlmodgen.cpp.

1174{
1175 openItem("link");
1176 addLink(lnk.ref(), lnk.file(), lnk.anchor());
1177 visitChildren(lnk);
1178 closeItem();
1179}

References addLink(), DocLink::anchor(), closeItem(), DocLink::file(), openItem(), DocLink::ref(), and visitChildren().

◆ operator()() [32/59]

void PerlModDocVisitor::operator() ( const DocLinkedWord & w)

Definition at line 482 of file perlmodgen.cpp.

483{
484 openItem("url");
485 addLink(w.ref(), w.file(), w.anchor());
486 m_output.addFieldQuotedString("content", w.word());
487 closeItem();
488}
QCString file() const
Definition docnode.h:171
QCString ref() const
Definition docnode.h:173
QCString word() const
Definition docnode.h:170
QCString anchor() const
Definition docnode.h:174

References addLink(), DocLinkedWord::anchor(), closeItem(), DocLinkedWord::file(), m_output, openItem(), DocLinkedWord::ref(), and DocLinkedWord::word().

◆ operator()() [33/59]

void PerlModDocVisitor::operator() ( const DocMermaidFile & df)

Definition at line 1162 of file perlmodgen.cpp.

1163{
1164#if 0
1165 m_output.add("<mermaidfile name=\""); m_output.add(df->file()); m_output.add("\">");
1166#endif
1167 visitChildren(df);
1168#if 0
1169 m_output.add("</mermaidfile>");
1170#endif
1171}

References DocDiagramFileBase::file(), m_output, and visitChildren().

◆ operator()() [34/59]

void PerlModDocVisitor::operator() ( const DocMscFile & df)

Definition at line 1129 of file perlmodgen.cpp.

1130{
1131#if 0
1132 m_output.add("<mscfile name=\""); m_output.add(df->file()); m_output.add("\">");
1133#endif
1134 visitChildren(df);
1135#if 0
1136 m_output.add("<mscfile>");
1137#endif
1138}

References DocDiagramFileBase::file(), m_output, and visitChildren().

◆ operator()() [35/59]

void PerlModDocVisitor::operator() ( const DocPara & p)

Definition at line 800 of file perlmodgen.cpp.

801{
803 m_textblockstart = false;
804 else
805 singleItem("parbreak");
806 /*
807 openItem("para");
808 openSubBlock("content");
809 */
810 visitChildren(p);
811 /*
812 closeSubBlock();
813 closeItem();
814 */
815}

References m_textblockstart, singleItem(), and visitChildren().

◆ operator()() [36/59]

void PerlModDocVisitor::operator() ( const DocParamList & pl)

Definition at line 1241 of file perlmodgen.cpp.

1242{
1243 leaveText();
1244 m_output.openHash().openList("parameters");
1245 for (const auto &param : pl.parameters())
1246 {
1247 QCString name;
1248 const DocWord *word = std::get_if<DocWord>(&param);
1249 const DocLinkedWord *linkedWord = std::get_if<DocLinkedWord>(&param);
1250 if (word)
1251 {
1252 name = word->word();
1253 }
1254 else if (linkedWord)
1255 {
1256 name = linkedWord->word();
1257 }
1258
1259 QCString dir = "";
1260 const DocParamSect *sect = std::get_if<DocParamSect>(pl.parent());
1261 if (sect && sect->hasInOutSpecifier())
1262 {
1264 {
1265 if (pl.direction()==DocParamSect::In)
1266 {
1267 dir = "in";
1268 }
1269 else if (pl.direction()==DocParamSect::Out)
1270 {
1271 dir = "out";
1272 }
1273 else if (pl.direction()==DocParamSect::InOut)
1274 {
1275 dir = "in,out";
1276 }
1277 }
1278 }
1279
1280 m_output.openHash()
1281 .addFieldQuotedString("name", name).addFieldQuotedString("dir", dir)
1282 .closeHash();
1283 }
1284 m_output.closeList()
1285 .openList("doc");
1286 for (const auto &par : pl.paragraphs())
1287 {
1288 std::visit(*this,par);
1289 }
1290 leaveText();
1291 m_output.closeList()
1292 .closeHash();
1293}
DocNodeVariant * parent()
Definition docnode.h:90
const DocNodeList & parameters() const
Definition docnode.h:1135
DocParamSect::Direction direction() const
Definition docnode.h:1139
const DocNodeList & paragraphs() const
Definition docnode.h:1137
bool hasInOutSpecifier() const
Definition docnode.h:1078
QCString word() const
Definition docnode.h:156

References DocParamList::direction(), DocParamSect::hasInOutSpecifier(), DocParamSect::In, DocParamSect::InOut, leaveText(), m_output, DocParamSect::Out, DocParamList::paragraphs(), DocParamList::parameters(), DocNode::parent(), DocParamSect::Unspecified, DocLinkedWord::word(), and DocWord::word().

◆ operator()() [37/59]

void PerlModDocVisitor::operator() ( const DocParamSect & s)

Definition at line 1214 of file perlmodgen.cpp.

1215{
1216 leaveText();
1217 const char *type = nullptr;
1218 switch(s.type())
1219 {
1220 case DocParamSect::Param: type = "params"; break;
1221 case DocParamSect::RetVal: type = "retvals"; break;
1222 case DocParamSect::Exception: type = "exceptions"; break;
1223 case DocParamSect::TemplateParam: type = "templateparam"; break;
1225 err("unknown parameter section found\n");
1226 break;
1227 }
1228 m_output.openHash();
1229 //openOther();
1230 openSubBlock(type);
1231 visitChildren(s);
1232 closeSubBlock();
1233 //closeOther();
1234 m_output.closeHash();
1235}
Type type() const
Definition docnode.h:1077
#define err(fmt,...)
Definition message.h:127

References closeSubBlock(), err, DocParamSect::Exception, leaveText(), m_output, openSubBlock(), DocParamSect::Param, DocParamSect::RetVal, DocParamSect::TemplateParam, DocParamSect::type(), DocParamSect::Unknown, and visitChildren().

◆ operator()() [38/59]

void PerlModDocVisitor::operator() ( const DocParBlock & pb)

Definition at line 1347 of file perlmodgen.cpp.

1348{
1349 visitChildren(pb);
1350}

References visitChildren().

◆ operator()() [39/59]

void PerlModDocVisitor::operator() ( const DocPlantUmlFile & df)

Definition at line 1151 of file perlmodgen.cpp.

1152{
1153#if 0
1154 m_output.add("<plantumlfile name=\""); m_output.add(df->file()); m_output.add("\">");
1155#endif
1156 visitChildren(df);
1157#if 0
1158 m_output.add("</plantumlfile>");
1159#endif
1160}

References DocDiagramFileBase::file(), m_output, and visitChildren().

◆ operator()() [40/59]

void PerlModDocVisitor::operator() ( const DocRef & ref)

Definition at line 1181 of file perlmodgen.cpp.

1182{
1183 openItem("ref");
1184 if (!ref.hasLinkText())
1185 m_output.addFieldQuotedString("text", ref.targetTitle());
1186 openSubBlock("content");
1187 visitChildren(ref);
1188 closeSubBlock();
1189 closeItem();
1190}
QCString targetTitle() const
Definition docnode.h:795
bool hasLinkText() const
Definition docnode.h:797

References closeItem(), closeSubBlock(), DocRef::hasLinkText(), m_output, openItem(), openSubBlock(), DocRef::targetTitle(), and visitChildren().

◆ operator()() [41/59]

void PerlModDocVisitor::operator() ( const DocRoot & r)

Definition at line 817 of file perlmodgen.cpp.

818{
819 visitChildren(r);
820}

References visitChildren().

◆ operator()() [42/59]

void PerlModDocVisitor::operator() ( const DocSecRefItem & ref)

Definition at line 1192 of file perlmodgen.cpp.

1193{
1194#if 0
1195 m_output.add("<tocitem id=\""); m_output.add(ref->file()); m_output.add("_1"); m_output.add(ref->anchor()); m_output.add("\">");
1196#endif
1197 visitChildren(ref);
1198#if 0
1199 m_output.add("</tocitem>");
1200#endif
1201}
QCString file() const
Definition docnode.h:948
QCString anchor() const
Definition docnode.h:949

References DocSecRefItem::anchor(), DocSecRefItem::file(), m_output, and visitChildren().

◆ operator()() [43/59]

void PerlModDocVisitor::operator() ( const DocSecRefList & l)

Definition at line 1203 of file perlmodgen.cpp.

1204{
1205#if 0
1206 m_output.add("<toclist>");
1207#endif
1208 visitChildren(l);
1209#if 0
1210 m_output.add("</toclist>");
1211#endif
1212}

References m_output, and visitChildren().

◆ operator()() [44/59]

void PerlModDocVisitor::operator() ( const DocSection & s)

Definition at line 892 of file perlmodgen.cpp.

893{
894 QCString sect = QCString().sprintf("sect%d",s.level());
895 openItem(sect);
896 //m_output.addFieldQuotedString("title", s.title());
897 if (s.title())
898 {
899 std::visit(*this,*s.title());
900 }
901 openSubBlock("content");
902 visitChildren(s);
904 closeItem();
905}
int level() const
Definition docnode.h:927
const DocNodeVariant * title() const
Definition docnode.h:928

References closeItem(), closeSubBlock(), DocSection::level(), openItem(), openSubBlock(), QCString::sprintf(), DocSection::title(), and visitChildren().

◆ operator()() [45/59]

void PerlModDocVisitor::operator() ( const DocSeparator & )

Definition at line 1237 of file perlmodgen.cpp.

1238{
1239}

◆ operator()() [46/59]

void PerlModDocVisitor::operator() ( const DocSimpleList & l)

Definition at line 872 of file perlmodgen.cpp.

873{
874 openItem("list");
875 m_output.addFieldQuotedString("style", "itemized");
876 openSubBlock("content");
877 visitChildren(l);
879 closeItem();
880}

References closeItem(), closeSubBlock(), m_output, openItem(), openSubBlock(), and visitChildren().

◆ operator()() [47/59]

void PerlModDocVisitor::operator() ( const DocSimpleListItem & li)

Definition at line 882 of file perlmodgen.cpp.

883{
884 openSubBlock();
885 if (li.paragraph())
886 {
887 std::visit(*this,*li.paragraph());
888 }
890}
const DocNodeVariant * paragraph() const
Definition docnode.h:1163

References closeSubBlock(), openSubBlock(), and DocSimpleListItem::paragraph().

◆ operator()() [48/59]

void PerlModDocVisitor::operator() ( const DocSimpleSect & s)

Definition at line 822 of file perlmodgen.cpp.

823{
824 const char *type = nullptr;
825 switch (s.type())
826 {
827 case DocSimpleSect::See: type = "see"; break;
828 case DocSimpleSect::Return: type = "return"; break;
829 case DocSimpleSect::Author: type = "author"; break;
830 case DocSimpleSect::Authors: type = "authors"; break;
831 case DocSimpleSect::Version: type = "version"; break;
832 case DocSimpleSect::Since: type = "since"; break;
833 case DocSimpleSect::Date: type = "date"; break;
834 case DocSimpleSect::Note: type = "note"; break;
835 case DocSimpleSect::Warning: type = "warning"; break;
836 case DocSimpleSect::Pre: type = "pre"; break;
837 case DocSimpleSect::Post: type = "post"; break;
838 case DocSimpleSect::Copyright: type = "copyright"; break;
839 case DocSimpleSect::Invar: type = "invariant"; break;
840 case DocSimpleSect::Remark: type = "remark"; break;
841 case DocSimpleSect::Attention: type = "attention"; break;
842 case DocSimpleSect::Important: type = "important"; break;
843 case DocSimpleSect::User: type = "par"; break;
844 case DocSimpleSect::Rcs: type = "rcs"; break;
846 err("unknown simple section found\n");
847 break;
848 }
849 leaveText();
850 m_output.openHash();
851 //openOther();
852 openSubBlock(type);
853 if (s.title())
854 {
855 std::visit(*this,*s.title());
856 }
857 visitChildren(s);
859 //closeOther();
860 m_output.closeHash();
861}
Type type() const
Definition docnode.h:1035
const DocNodeVariant * title() const
Definition docnode.h:1042

References DocSimpleSect::Attention, DocSimpleSect::Author, DocSimpleSect::Authors, closeSubBlock(), DocSimpleSect::Copyright, DocSimpleSect::Date, err, DocSimpleSect::Important, DocSimpleSect::Invar, leaveText(), m_output, DocSimpleSect::Note, openSubBlock(), DocSimpleSect::Post, DocSimpleSect::Pre, DocSimpleSect::Rcs, DocSimpleSect::Remark, DocSimpleSect::Return, DocSimpleSect::See, DocSimpleSect::Since, DocSimpleSect::title(), DocSimpleSect::type(), DocSimpleSect::Unknown, DocSimpleSect::User, DocSimpleSect::Version, visitChildren(), and DocSimpleSect::Warning.

◆ operator()() [49/59]

void PerlModDocVisitor::operator() ( const DocSimpleSectSep & )

Definition at line 743 of file perlmodgen.cpp.

744{
745}

◆ operator()() [50/59]

void PerlModDocVisitor::operator() ( const DocStyleChange & s)

Definition at line 597 of file perlmodgen.cpp.

598{
599 const char *style = nullptr;
600 switch (s.style())
601 {
602 case DocStyleChange::Bold: style = "bold"; break;
603 case DocStyleChange::S: style = "s"; break;
604 case DocStyleChange::Strike: style = "strike"; break;
605 case DocStyleChange::Del: style = "del"; break;
606 case DocStyleChange::Underline: style = "underline"; break;
607 case DocStyleChange::Ins: style = "ins"; break;
608 case DocStyleChange::Italic: style = "italic"; break;
609 case DocStyleChange::Code: style = "code"; break;
610 case DocStyleChange::Subscript: style = "subscript"; break;
611 case DocStyleChange::Superscript: style = "superscript"; break;
612 case DocStyleChange::Center: style = "center"; break;
613 case DocStyleChange::Small: style = "small"; break;
614 case DocStyleChange::Cite: style = "cite"; break;
615 case DocStyleChange::Preformatted: style = "preformatted"; break;
616 case DocStyleChange::Div: style = "div"; break;
617 case DocStyleChange::Span: style = "span"; break;
618 case DocStyleChange::Kbd: style = "kbd"; break;
619 case DocStyleChange::Typewriter: style = "typewriter"; break;
620 }
621 openItem("style");
622 m_output.addFieldQuotedString("style", style)
623 .addFieldBoolean("enable", s.enable());
624 closeItem();
625}
Style style() const
Definition docnode.h:307
bool enable() const
Definition docnode.h:309

References DocStyleChange::Bold, DocStyleChange::Center, DocStyleChange::Cite, closeItem(), DocStyleChange::Code, DocStyleChange::Del, DocStyleChange::Div, DocStyleChange::enable(), DocStyleChange::Ins, DocStyleChange::Italic, DocStyleChange::Kbd, m_output, openItem(), DocStyleChange::Preformatted, DocStyleChange::S, DocStyleChange::Small, DocStyleChange::Span, DocStyleChange::Strike, DocStyleChange::style(), DocStyleChange::Subscript, DocStyleChange::Superscript, DocStyleChange::Typewriter, and DocStyleChange::Underline.

◆ operator()() [51/59]

void PerlModDocVisitor::operator() ( const DocSymbol & sy)

Definition at line 496 of file perlmodgen.cpp.

497{
498 const HtmlEntityMapper::PerlSymb *res = HtmlEntityMapper::instance().perl(sy.symbol());
499 const char *accent=nullptr;
500 if (res->symb)
501 {
502 switch (res->type)
503 {
505 enterText();
506 m_output.add(res->symb);
507 break;
509 enterText();
510 m_output.add(res->symb[0]);
511 break;
513 leaveText();
514 openItem("symbol");
515 m_output.addFieldQuotedString("symbol", res->symb);
516 closeItem();
517 break;
518 default:
519 switch(res->type)
520 {
522 accent = "umlaut";
523 break;
525 accent = "acute";
526 break;
528 accent = "grave";
529 break;
531 accent = "circ";
532 break;
534 accent = "slash";
535 break;
537 accent = "tilde";
538 break;
540 accent = "cedilla";
541 break;
543 accent = "ring";
544 break;
545 default:
546 break;
547 }
548 leaveText();
549 if (accent)
550 {
551 openItem("accent");
553 .addFieldQuotedString("accent", accent)
554 .addFieldQuotedChar("letter", res->symb[0]);
555 closeItem();
556 }
557 break;
558 }
559 }
560 else
561 {
562 err("perl: non supported HTML-entity found: {}\n",HtmlEntityMapper::instance().html(sy.symbol(),TRUE));
563 }
564}
HtmlEntityMapper::SymType symbol() const
Definition docnode.h:332
const PerlSymb * perl(SymType symb) const
Access routine to the perl struct with the perl code of the HTML entity.
static HtmlEntityMapper & instance()
Returns the one and only instance of the HTML entity mapper.
#define TRUE
Definition qcstring.h:37

References closeItem(), enterText(), err, HtmlEntityMapper::instance(), leaveText(), m_output, openItem(), HtmlEntityMapper::perl(), HtmlEntityMapper::Perl_acute, HtmlEntityMapper::Perl_cedilla, HtmlEntityMapper::Perl_char, HtmlEntityMapper::Perl_circ, HtmlEntityMapper::Perl_grave, HtmlEntityMapper::Perl_ring, HtmlEntityMapper::Perl_slash, HtmlEntityMapper::Perl_string, HtmlEntityMapper::Perl_symbol, HtmlEntityMapper::Perl_tilde, HtmlEntityMapper::Perl_umlaut, HtmlEntityMapper::PerlSymb::symb, DocSymbol::symbol(), TRUE, and HtmlEntityMapper::PerlSymb::type.

◆ operator()() [52/59]

void PerlModDocVisitor::operator() ( const DocText & t)

Definition at line 1329 of file perlmodgen.cpp.

1330{
1331 visitChildren(t);
1332}

References visitChildren().

◆ operator()() [53/59]

void PerlModDocVisitor::operator() ( const DocTitle & t)

Definition at line 863 of file perlmodgen.cpp.

864{
865 openItem("title");
866 openSubBlock("content");
867 visitChildren(t);
869 closeItem();
870}

References closeItem(), closeSubBlock(), openItem(), openSubBlock(), and visitChildren().

◆ operator()() [54/59]

void PerlModDocVisitor::operator() ( const DocURL & u)

Definition at line 580 of file perlmodgen.cpp.

581{
582 openItem("url");
583 m_output.addFieldQuotedString("content", u.url());
584 closeItem();
585}
QCString url() const
Definition docnode.h:192

References closeItem(), m_output, openItem(), and DocURL::url().

◆ operator()() [55/59]

void PerlModDocVisitor::operator() ( const DocVerbatim & s)

Definition at line 627 of file perlmodgen.cpp.

628{
629 const char *type = nullptr;
630 switch (s.type())
631 {
633#if 0
634 m_output.add("<programlisting>");
635 parseCode(m_ci,s->context(),s->text(),FALSE,0);
636 m_output.add("</programlisting>");
637 return;
638#endif
641 case DocVerbatim::Verbatim: type = "preformatted"; break;
642 case DocVerbatim::HtmlOnly: type = "htmlonly"; break;
643 case DocVerbatim::RtfOnly: type = "rtfonly"; break;
644 case DocVerbatim::ManOnly: type = "manonly"; break;
645 case DocVerbatim::LatexOnly: type = "latexonly"; break;
646 case DocVerbatim::XmlOnly: type = "xmlonly"; break;
647 case DocVerbatim::DocbookOnly: type = "docbookonly"; break;
648 case DocVerbatim::Dot: type = "dot"; break;
649 case DocVerbatim::Msc: type = "msc"; break;
650 case DocVerbatim::PlantUML: type = "plantuml"; break;
651 case DocVerbatim::Mermaid: type = "mermaid"; break;
652 }
653 openItem(type);
654 if (s.hasCaption())
655 {
656 openSubBlock("caption");
657 visitChildren(s);
659 }
660 m_output.addFieldQuotedString("content", s.text());
661 closeItem();
662}
bool hasCaption() const
Definition docnode.h:390
QCString context() const
Definition docnode.h:384
Type type() const
Definition docnode.h:382
QCString text() const
Definition docnode.h:383
@ JavaDocLiteral
Definition docnode.h:378

References closeItem(), closeSubBlock(), DocVerbatim::Code, DocVerbatim::context(), DocVerbatim::DocbookOnly, DocVerbatim::Dot, FALSE, DocVerbatim::hasCaption(), DocVerbatim::HtmlOnly, DocVerbatim::JavaDocCode, DocVerbatim::JavaDocLiteral, DocVerbatim::LatexOnly, m_output, DocVerbatim::ManOnly, DocVerbatim::Mermaid, DocVerbatim::Msc, openItem(), openSubBlock(), DocVerbatim::PlantUML, DocVerbatim::RtfOnly, DocVerbatim::text(), DocVerbatim::type(), DocVerbatim::Verbatim, visitChildren(), and DocVerbatim::XmlOnly.

◆ operator()() [56/59]

void PerlModDocVisitor::operator() ( const DocVhdlFlow & )

Definition at line 1343 of file perlmodgen.cpp.

1344{
1345}

◆ operator()() [57/59]

void PerlModDocVisitor::operator() ( const DocWhiteSpace & )

Definition at line 490 of file perlmodgen.cpp.

491{
492 enterText();
493 m_output.add(' ');
494}

References enterText(), and m_output.

◆ operator()() [58/59]

void PerlModDocVisitor::operator() ( const DocWord & w)

Definition at line 476 of file perlmodgen.cpp.

477{
478 enterText();
479 m_output.addQuoted(w.word());
480}

References enterText(), m_output, and DocWord::word().

◆ operator()() [59/59]

void PerlModDocVisitor::operator() ( const DocXRefItem & x)

Definition at line 1295 of file perlmodgen.cpp.

1296{
1297#if 0
1298 m_output.add("<xrefsect id=\"");
1299 m_output.add(x->file()); m_output.add("_1"); m_output.add(x->anchor());
1300 m_output.add("\">");
1301 m_output.add("<xreftitle>");
1302 m_output.addQuoted(x->title());
1303 m_output.add("</xreftitle>");
1304 m_output.add("<xrefdescription>");
1305#endif
1306 if (x.title().isEmpty()) return;
1307 openItem("xrefitem");
1308 openSubBlock("content");
1309 visitChildren(x);
1310 if (x.title().isEmpty()) return;
1311 closeSubBlock();
1312 closeItem();
1313#if 0
1314 m_output.add("</xrefdescription>");
1315 m_output.add("</xrefsect>");
1316#endif
1317}
QCString anchor() const
Definition docnode.h:625
QCString file() const
Definition docnode.h:624
QCString title() const
Definition docnode.h:626

References DocXRefItem::anchor(), closeItem(), closeSubBlock(), DocXRefItem::file(), QCString::isEmpty(), m_output, openItem(), openSubBlock(), DocXRefItem::title(), and visitChildren().

◆ singleItem()

void PerlModDocVisitor::singleItem ( const QCString & name)
private

Definition at line 435 of file perlmodgen.cpp.

436{
437 openItem(name);
438 closeItem();
439}

References closeItem(), and openItem().

Referenced by operator()(), operator()(), and operator()().

◆ visitChildren()

Member Data Documentation

◆ m_other

QCString PerlModDocVisitor::m_other
private

Definition at line 380 of file perlmodgen.cpp.

Referenced by finish().

◆ m_output

◆ m_textblockstart

bool PerlModDocVisitor::m_textblockstart
private

Definition at line 379 of file perlmodgen.cpp.

Referenced by openSubBlock(), operator()(), and PerlModDocVisitor().

◆ m_textmode

bool PerlModDocVisitor::m_textmode
private

Definition at line 378 of file perlmodgen.cpp.

Referenced by enterText(), leaveText(), and PerlModDocVisitor().


The documentation for this class was generated from the following file: