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

Generator for HTML output. More...

#include <src/htmlgen.h>

Inheritance diagram for HtmlGenerator:
Collaboration diagram for HtmlGenerator:

Classes

struct  TocState

Public Member Functions

 HtmlGenerator ()
 HtmlGenerator (const HtmlGenerator &)
HtmlGeneratoroperator= (const HtmlGenerator &)
 HtmlGenerator (HtmlGenerator &&)=delete
HtmlGeneratoroperator= (HtmlGenerator &&)=delete
 ~HtmlGenerator ()
void clearBuffer ()
OutputType type () const override
std::unique_ptr< OutputGenIntfclone () override
void addCodeGen (OutputCodeList &list) override
void cleanup () override
void writeDoc (const IDocNodeAST *node, const Definition *, const MemberDef *, int id, int sectionLevel) override
void startFile (const QCString &name, bool isSource, const QCString &manName, const QCString &title, int id, int hierarchyLevel) override
void endFile () override
void writeFooter (const QCString &navPath) override
void writeSearchInfo () override
void startIndexSection (IndexSection) override
void endIndexSection (IndexSection) override
void writePageLink (const QCString &, bool) override
void startProjectNumber () override
void endProjectNumber () override
void writeStyleInfo (int part) override
void startTitleHead (const QCString &) override
void endTitleHead (const QCString &, const QCString &) override
void startParagraph (const QCString &classDef) override
void endParagraph () override
void writeString (const QCString &text) override
void startIndexListItem () override
void endIndexListItem () override
void startIndexList () override
void endIndexList () override
void startIndexKey () override
void endIndexKey () override
void startIndexValue (bool) override
void endIndexValue (const QCString &, bool) override
void startItemList () override
void endItemList () override
void startIndexItem (const QCString &ref, const QCString &file) override
void endIndexItem (const QCString &ref, const QCString &file) override
void docify (const QCString &text) override
void writeObjectLink (const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name) override
void startTextLink (const QCString &file, const QCString &anchor) override
void endTextLink () override
void startTypewriter () override
void endTypewriter () override
void startGroupHeader (const QCString &, int) override
void endGroupHeader (int) override
void startItemListItem () override
void endItemListItem () override
void startMemberSections () override
void endMemberSections () override
void startHeaderSection () override
void endHeaderSection () override
void startMemberHeader (const QCString &, int) override
void endMemberHeader () override
void startMemberSubtitle () override
void endMemberSubtitle () override
void startMemberDocList () override
void endMemberDocList () override
void startMemberList () override
void endMemberList () override
void startInlineHeader () override
void endInlineHeader () override
void startAnonTypeScope (int) override
void endAnonTypeScope (int) override
void startMemberItem (const QCString &anchor, MemberItemType, const QCString &inheritId) override
void endMemberItem (MemberItemType) override
void startMemberTemplateParams () override
void endMemberTemplateParams (const QCString &anchor, const QCString &inheritId) override
void startCompoundTemplateParams () override
void endCompoundTemplateParams () override
void startMemberGroupHeader (const QCString &, bool) override
void endMemberGroupHeader () override
void startMemberGroupDocs () override
void endMemberGroupDocs () override
void startMemberGroup () override
void endMemberGroup (bool) override
void insertMemberAlign (bool) override
void insertMemberAlignLeft (MemberItemType, bool) override
void startMemberDescription (const QCString &anchor, const QCString &inheritId, bool typ) override
void endMemberDescription () override
void startMemberDeclaration () override
void endMemberDeclaration (const QCString &anchor, const QCString &inheritId) override
void writeInheritedSectionTitle (const QCString &id, const QCString &ref, const QCString &file, const QCString &anchor, const QCString &title, const QCString &name) override
void writeRuler () override
void writeAnchor (const QCString &, const QCString &name) override
void startEmphasis () override
void endEmphasis () override
void startBold () override
void endBold () override
void startDescForItem () override
void endDescForItem () override
void lineBreak (const QCString &style) override
void writeChar (char c) override
void startMemberDoc (const QCString &clName, const QCString &memName, const QCString &anchor, const QCString &title, int memCount, int memTotal, bool showInline) override
void endMemberDoc (bool) override
void startDoxyAnchor (const QCString &fName, const QCString &manName, const QCString &anchor, const QCString &name, const QCString &args) override
void endDoxyAnchor (const QCString &fName, const QCString &anchor) override
void addLabel (const QCString &, const QCString &) override
void writeLatexSpacing () override
void writeStartAnnoItem (const QCString &type, const QCString &file, const QCString &path, const QCString &name) override
void startCenter () override
void endCenter () override
void startSmall () override
void endSmall () override
void startExamples () override
void endExamples () override
void startSection (const QCString &, const QCString &, SectionType) override
void endSection (const QCString &, SectionType) override
void addIndexItem (const QCString &, const QCString &) override
void startIndent () override
void endIndent () override
void writeSynopsis () override
void startClassDiagram () override
void endClassDiagram (const ClassDiagram &, const QCString &, const QCString &) override
void startPageRef () override
void endPageRef (const QCString &, const QCString &) override
void startQuickIndices () override
void endQuickIndices () override
void writeSplitBar (const QCString &name, const QCString &allMembersFile) override
void writeNavigationPath (const QCString &s) override
void writeLogo () override
void writeQuickLinks (HighlightedItem hli, const QCString &file, bool extraTabs) override
void writeSummaryLink (const QCString &file, const QCString &anchor, const QCString &title, bool first) override
void writePageOutline () override
void startContents () override
void endContents () override
void startPageDoc (const QCString &pageTitle) override
void endPageDoc () override
void writeNonBreakableSpace (int) override
void startDescTable (const QCString &title, const bool hasInits) override
void endDescTable () override
void startDescTableRow () override
void endDescTableRow () override
void startDescTableTitle () override
void endDescTableTitle () override
void startDescTableInit () override
void endDescTableInit () override
void startDescTableData () override
void endDescTableData () override
void startDotGraph () override
void endDotGraph (DotClassGraph &g) override
void startInclDepGraph () override
void endInclDepGraph (DotInclDepGraph &g) override
void startGroupCollaboration () override
void endGroupCollaboration (DotGroupCollaboration &g) override
void startCallGraph () override
void endCallGraph (DotCallGraph &g) override
void startDirDepGraph () override
void endDirDepGraph (DotDirDeps &g) override
void writeGraphicalHierarchy (DotGfxHierarchyTable &g) override
void startTextBlock (bool) override
void endTextBlock (bool) override
void lastIndexPage () override
void startMemberDocPrefixItem () override
void endMemberDocPrefixItem () override
void startMemberDocName (bool) override
void endMemberDocName () override
void startParameterType (bool first, const QCString &key) override
void endParameterType () override
void startParameterName (bool) override
void endParameterName () override
void startParameterExtra () override
void endParameterExtra (bool last, bool emptyList, bool closeBracket) override
void startParameterDefVal (const char *sep) override
void endParameterDefVal () override
void startParameterList (bool) override
void endParameterList () override
void exceptionEntry (const QCString &, bool) override
void startConstraintList (const QCString &) override
void startConstraintParam () override
void endConstraintParam () override
void startConstraintType () override
void endConstraintType () override
void startConstraintDocs () override
void endConstraintDocs () override
void endConstraintList () override
void startMemberDocSimple (bool) override
void endMemberDocSimple (bool) override
void startInlineMemberType () override
void endInlineMemberType () override
void startInlineMemberName () override
void endInlineMemberName () override
void startInlineMemberDoc () override
void endInlineMemberDoc () override
void startLabels () override
void writeLabel (const QCString &l, bool isLast) override
void endLabels () override
void startLocalToc (int level) override
void endLocalToc () override
void startTocEntry (const SectionInfo *si) override
void endTocEntry (const SectionInfo *si) override
void startPlainFile (const QCString &name) override
void endPlainFile () override
Public Member Functions inherited from OutputGenerator
 OutputGenerator ()
 OutputGenerator (const QCString &dir)
virtual ~OutputGenerator ()=default
QCString dir () const
QCString fileName () const
void startPlainFile (const QCString &name)
void endPlainFile ()

Static Public Member Functions

static void init ()
static void writeStyleSheetFile (TextStream &t)
static void writeHeaderFile (TextStream &t, const QCString &cssname)
static void writeFooterFile (TextStream &t)
static void writeTabData ()
 Additional initialization after indices have been created.
static void writeSearchInfoStatic (TextStream &t, const QCString &relPath)
static void writeSearchData (const QCString &dir)
static void writeSearchPage ()
static void writeExternalSearchPage ()
static QCString writeLogoAsString (const QCString &path)
static QCString writeSplitBarAsString (const QCString &name, const QCString &relpath, const QCString &allMembersFile)
static QCString getMathJaxMacros ()
static QCString getNavTreeCss ()

Private Member Functions

void startTitle ()
void endTitle ()
void docify_ (const QCString &text, bool inHtmlComment)

Static Private Member Functions

static void writePageFooter (TextStream &t, const QCString &, const QCString &, const QCString &)

Private Attributes

QCString m_lastTitle
QCString m_lastFile
QCString m_relPath
int m_sectionCount = 0
bool m_emptySection = false
std::unique_ptr< OutputCodeListm_codeList
HtmlCodeGeneratorm_codeGen = nullptr
int m_pageOutlineIndent = 0
TocState m_tocState

Additional Inherited Members

Public Types inherited from OutputGenerator
enum class  ParamListTypes { Param , RetVal , Exception }
enum class  MemberItemType { Normal , AnonymousStart , AnonymousEnd , Templated }
Protected Attributes inherited from OutputGenerator
TextStream m_t
QCString m_dir

Detailed Description

Generator for HTML output.

Definition at line 95 of file htmlgen.h.

Constructor & Destructor Documentation

◆ HtmlGenerator() [1/3]

HtmlGenerator::HtmlGenerator ( )

Definition at line 1148 of file htmlgen.cpp.

1149 : OutputGenerator(Config_getString(HTML_OUTPUT))
1150 , m_codeList(std::make_unique<OutputCodeList>())
1151{
1152 //printf("%p:HtmlGenerator()\n",(void*)this);
1153 m_codeGen = m_codeList->add<HtmlCodeGenerator>(&m_t);
1154}
HtmlCodeGenerator * m_codeGen
Definition htmlgen.h:349
std::unique_ptr< OutputCodeList > m_codeList
Definition htmlgen.h:348
TextStream m_t
Definition outputgen.h:116
#define Config_getString(name)
Definition config.h:32

References Config_getString, m_codeGen, m_codeList, OutputGenerator::m_t, and OutputGenerator::OutputGenerator().

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

◆ HtmlGenerator() [2/3]

HtmlGenerator::HtmlGenerator ( const HtmlGenerator & og)

Definition at line 1156 of file htmlgen.cpp.

1156 : OutputGenerator(og.m_dir), OutputGenIntf()
1157{
1158 //printf("%p:HtmlGenerator(copy %p)\n",(void*)this,(void*)&og);
1159 m_codeList = std::make_unique<OutputCodeList>(*og.m_codeList);
1160 m_codeGen = m_codeList->get<HtmlCodeGenerator>(OutputType::Html);
1161 m_codeGen->setTextStream(&m_t);
1164 m_relPath = og.m_relPath;
1167}
int m_sectionCount
Definition htmlgen.h:346
QCString m_lastFile
Definition htmlgen.h:344
QCString m_relPath
Definition htmlgen.h:345
bool m_emptySection
Definition htmlgen.h:347
QCString m_lastTitle
Definition htmlgen.h:343
QCString m_dir
Definition outputgen.h:117

References Html, HtmlGenerator(), m_codeGen, m_codeList, OutputGenerator::m_dir, m_emptySection, m_lastFile, m_lastTitle, m_relPath, m_sectionCount, OutputGenerator::m_t, and OutputGenerator::OutputGenerator().

◆ HtmlGenerator() [3/3]

HtmlGenerator::HtmlGenerator ( HtmlGenerator && )
delete

References HtmlGenerator().

◆ ~HtmlGenerator()

HtmlGenerator::~HtmlGenerator ( )
default

Member Function Documentation

◆ addCodeGen()

void HtmlGenerator::addCodeGen ( OutputCodeList & list)
overridevirtual

Implements OutputGenIntf.

Definition at line 1189 of file htmlgen.cpp.

1190{
1192}
void add(OutputCodeIntfPtr &&p)
Definition outputlist.h:195
OutputCodeDefer< HtmlCodeGenerator > HtmlCodeGeneratorDefer
Definition outputlist.h:102

References OutputCodeList::add(), and m_codeGen.

◆ addIndexItem()

void HtmlGenerator::addIndexItem ( const QCString & ,
const QCString &  )
overridevirtual

Implements OutputGenIntf.

Definition at line 2649 of file htmlgen.cpp.

2650{
2651}

◆ addLabel()

void HtmlGenerator::addLabel ( const QCString & ,
const QCString &  )
overridevirtual

Implements OutputGenIntf.

Definition at line 1755 of file htmlgen.cpp.

1756{
1757}

◆ cleanup()

void HtmlGenerator::cleanup ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1346 of file htmlgen.cpp.

1347{
1348 QCString dname = Config_getString(HTML_OUTPUT);
1349 Dir d(dname.str());
1350 clearSubDirs(d);
1351}
const std::string & str() const
Definition qcstring.h:552
void clearSubDirs(const Dir &d)
Definition util.cpp:3588

References clearSubDirs(), Config_getString, and QCString::str().

◆ clearBuffer()

void HtmlGenerator::clearBuffer ( )

◆ clone()

std::unique_ptr< OutputGenIntf > HtmlGenerator::clone ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 123 of file htmlgen.h.

123{ return std::make_unique<HtmlGenerator>(*this); }

◆ docify()

void HtmlGenerator::docify ( const QCString & text)
overridevirtual

Implements OutputGenIntf.

Definition at line 1951 of file htmlgen.cpp.

1952{
1953 docify_(str,FALSE);
1954}
void docify_(const QCString &text, bool inHtmlComment)
Definition htmlgen.cpp:1956
#define FALSE
Definition qcstring.h:34

References docify_(), and FALSE.

Referenced by startExamples(), startMemberDoc(), startParameterDefVal(), writeChar(), writeObjectLink(), and writeStartAnnoItem().

◆ docify_()

void HtmlGenerator::docify_ ( const QCString & text,
bool inHtmlComment )
private

Definition at line 1956 of file htmlgen.cpp.

1957{
1958 if (!str.isEmpty())
1959 {
1960 const char *p=str.data();
1961 while (*p)
1962 {
1963 char c=*p++;
1964 switch(c)
1965 {
1966 case '<': m_t << "&lt;"; break;
1967 case '>': m_t << "&gt;"; break;
1968 case '&': m_t << "&amp;"; break;
1969 case '"': m_t << "&quot;"; break;
1970 case '-': if (inHtmlComment) m_t << "&#45;"; else m_t << "-"; break;
1971 case '\\':
1972 if (*p=='<')
1973 { m_t << "&lt;"; p++; }
1974 else if (*p=='>')
1975 { m_t << "&gt;"; p++; }
1976 else if (*p=='[')
1977 { m_t << "\\&zwj;["; p++; }
1978 else if (*p==']')
1979 { m_t << "\\&zwj;]"; p++; }
1980 else if (*p=='(')
1981 { m_t << "\\&zwj;("; p++; }
1982 else if (*p==')')
1983 { m_t << "\\&zwj;)"; p++; }
1984 else
1985 m_t << "\\";
1986 break;
1987 default: m_t << c;
1988 }
1989 }
1990 }
1991}

References QCString::data(), QCString::isEmpty(), and OutputGenerator::m_t.

Referenced by docify().

◆ endAnonTypeScope()

void HtmlGenerator::endAnonTypeScope ( int )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 186 of file htmlgen.h.

186{}

◆ endBold()

void HtmlGenerator::endBold ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 217 of file htmlgen.h.

217{ m_t << "</b>"; }

References OutputGenerator::m_t.

◆ endCallGraph()

void HtmlGenerator::endCallGraph ( DotCallGraph & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2572 of file htmlgen.cpp.

2573{
2578
2580
2583}
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool writeImageMap=TRUE, int graphId=-1)
QCString dir() const
Definition outputgen.cpp:52
QCString fileName() const
Definition outputgen.cpp:57
static void startSectionContent(TextStream &t, int sectionCount)
Definition htmlgen.cpp:2050
static void startSectionSummary(TextStream &t, int sectionCount)
Definition htmlgen.cpp:2028
static void endSectionContent(TextStream &t)
Definition htmlgen.cpp:2066
static void endSectionHeader(TextStream &t)
Definition htmlgen.cpp:2022
static void endSectionSummary(TextStream &t)
Definition htmlgen.cpp:2040
#define TRUE
Definition qcstring.h:37

References BITMAP, OutputGenerator::dir(), endSectionContent(), endSectionHeader(), endSectionSummary(), OutputGenerator::fileName(), Html, m_relPath, m_sectionCount, OutputGenerator::m_t, startSectionContent(), startSectionSummary(), TRUE, and DotCallGraph::writeGraph().

◆ endCenter()

void HtmlGenerator::endCenter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 235 of file htmlgen.h.

235{ m_t << "</center>\n"; }

References OutputGenerator::m_t.

◆ endClassDiagram()

void HtmlGenerator::endClassDiagram ( const ClassDiagram & d,
const QCString & fileName,
const QCString & name )
overridevirtual

Implements OutputGenIntf.

Definition at line 2079 of file htmlgen.cpp.

2081{
2086 TextStream tt;
2088 if (!tt.empty())
2089 {
2090 m_t << " <div class=\"center\">\n";
2091 m_t << " <img src=\"";
2092 m_t << m_relPath << fileName << ".png\" usemap=\"#" << convertToId(name);
2093 m_t << "_map\" alt=\"\"/>\n";
2094 m_t << " <map id=\"" << convertToId(name);
2095 m_t << "_map\" name=\"" << convertToId(name);
2096 m_t << "_map\">\n";
2097 m_t << tt.str();
2098 m_t << " </map>\n";
2099 m_t << "</div>";
2100 }
2101 else
2102 {
2103 m_t << " <div class=\"center\">\n";
2104 m_t << " <img src=\"";
2105 m_t << m_relPath << fileName << ".png\" alt=\"\"/>\n";
2106 m_t << " </div>";
2107 }
2110}
void writeImage(TextStream &t, const QCString &path, const QCString &relPath, const QCString &file, bool generateMap=true) const
Definition diagram.cpp:1369
bool empty() const
Returns true iff the buffer is empty.
Definition textstream.h:253
std::string str() const
Return the contents of the buffer as a std::string object.
Definition textstream.h:229
QCString convertToId(const QCString &s)
Definition util.cpp:3793

References convertToId(), OutputGenerator::dir(), TextStream::empty(), endSectionContent(), endSectionHeader(), endSectionSummary(), OutputGenerator::fileName(), m_relPath, m_sectionCount, OutputGenerator::m_t, startSectionContent(), startSectionSummary(), TextStream::str(), and ClassDiagram::writeImage().

◆ endCompoundTemplateParams()

void HtmlGenerator::endCompoundTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2178 of file htmlgen.cpp.

2179{
2180 m_t << "</div>";
2181}

References OutputGenerator::m_t.

◆ endConstraintDocs()

void HtmlGenerator::endConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3407 of file htmlgen.cpp.

3408{
3409 m_t << "</td></tr>\n";
3410}

References OutputGenerator::m_t.

◆ endConstraintList()

void HtmlGenerator::endConstraintList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3412 of file htmlgen.cpp.

3413{
3414 m_t << "</table>\n";
3415 m_t << "</dd>\n";
3416 m_t << "</dl>\n";
3417 m_t << "</div>\n";
3418}

References OutputGenerator::m_t.

◆ endConstraintParam()

void HtmlGenerator::endConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3387 of file htmlgen.cpp.

3388{
3389 m_t << "</em></td>";
3390}

References OutputGenerator::m_t.

◆ endConstraintType()

void HtmlGenerator::endConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3397 of file htmlgen.cpp.

3398{
3399 m_t << "</em></td>";
3400}

References OutputGenerator::m_t.

◆ endContents()

void HtmlGenerator::endContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3149 of file htmlgen.cpp.

3150{
3151 m_t << "</div><!-- contents -->\n";
3152}

References OutputGenerator::m_t.

◆ endDescForItem()

void HtmlGenerator::endDescForItem ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 219 of file htmlgen.h.

219{ m_t << "</dd>\n"; }

References OutputGenerator::m_t.

◆ endDescTable()

void HtmlGenerator::endDescTable ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2666 of file htmlgen.cpp.

2667{
2668 m_t << "</table>\n";
2669}

References OutputGenerator::m_t.

◆ endDescTableData()

void HtmlGenerator::endDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2706 of file htmlgen.cpp.

2707{
2708 m_t << "</td>";
2709}

References OutputGenerator::m_t.

◆ endDescTableInit()

void HtmlGenerator::endDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2696 of file htmlgen.cpp.

2697{
2698 m_t << "&#160;</td>";
2699}

References OutputGenerator::m_t.

◆ endDescTableRow()

void HtmlGenerator::endDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2676 of file htmlgen.cpp.

2677{
2678 m_t << "</tr>\n";
2679}

References OutputGenerator::m_t.

◆ endDescTableTitle()

void HtmlGenerator::endDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2686 of file htmlgen.cpp.

2687{
2688 m_t << "&#160;</td>";
2689}

References OutputGenerator::m_t.

◆ endDirDepGraph()

void HtmlGenerator::endDirDepGraph ( DotDirDeps & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2590 of file htmlgen.cpp.

2591{
2596
2598
2601}
QCString writeGraph(TextStream &out, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool writeImageMap=TRUE, int graphId=-1, bool linkRelations=TRUE)

References BITMAP, OutputGenerator::dir(), endSectionContent(), endSectionHeader(), endSectionSummary(), OutputGenerator::fileName(), Html, m_relPath, m_sectionCount, OutputGenerator::m_t, startSectionContent(), startSectionSummary(), TRUE, and DotDirDeps::writeGraph().

◆ endDotGraph()

void HtmlGenerator::endDotGraph ( DotClassGraph & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2502 of file htmlgen.cpp.

2503{
2504 bool generateLegend = Config_getBool(GENERATE_LEGEND);
2505 bool umlLook = Config_getBool(UML_LOOK);
2510
2512 if (generateLegend && !umlLook)
2513 {
2514 QCString url = m_relPath+"graph_legend"+Doxygen::htmlFileExtension;
2515 m_t << "<center><span class=\"legend\">[";
2516 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
2517 m_t << "<a ";
2518 if (generateTreeView) m_t << "target=\"top\" ";
2519 m_t << "href=\"";
2520 if (!url.isEmpty()) m_t << url;
2521 m_t << "\">";
2523 m_t << "</a>";
2524 m_t << "]</span></center>";
2525 }
2526
2529}
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool TBRank=TRUE, bool imageMap=TRUE, int graphId=-1)
static QCString htmlFileExtension
Definition doxygen.h:122
bool isEmpty() const
Returns TRUE iff the string is empty.
Definition qcstring.h:163
virtual QCString trLegend()=0
#define Config_getBool(name)
Definition config.h:33
Translator * theTranslator
Definition language.cpp:71

References BITMAP, Config_getBool, OutputGenerator::dir(), endSectionContent(), endSectionHeader(), endSectionSummary(), OutputGenerator::fileName(), Html, Doxygen::htmlFileExtension, QCString::isEmpty(), m_relPath, m_sectionCount, OutputGenerator::m_t, startSectionContent(), startSectionSummary(), theTranslator, TRUE, and DotClassGraph::writeGraph().

◆ endDoxyAnchor()

void HtmlGenerator::endDoxyAnchor ( const QCString & fName,
const QCString & anchor )
overridevirtual

Implements OutputGenIntf.

Definition at line 1751 of file htmlgen.cpp.

1752{
1753}

◆ endEmphasis()

void HtmlGenerator::endEmphasis ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 215 of file htmlgen.h.

215{ m_t << "</em>"; }

References OutputGenerator::m_t.

◆ endExamples()

void HtmlGenerator::endExamples ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2718 of file htmlgen.cpp.

2719{
2720 m_t << "</dl>\n";
2721}

References OutputGenerator::m_t.

◆ endFile()

void HtmlGenerator::endFile ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1658 of file htmlgen.cpp.

1659{
1660 endPlainFile();
1661}
void endPlainFile() override
Definition htmlgen.h:335

References endPlainFile().

◆ endGroupCollaboration()

void HtmlGenerator::endGroupCollaboration ( DotGroupCollaboration & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2554 of file htmlgen.cpp.

2555{
2560
2562
2565}
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool writeImageMap=TRUE, int graphId=-1)

References BITMAP, OutputGenerator::dir(), endSectionContent(), endSectionHeader(), endSectionSummary(), OutputGenerator::fileName(), Html, m_relPath, m_sectionCount, OutputGenerator::m_t, startSectionContent(), startSectionSummary(), TRUE, and DotGroupCollaboration::writeGraph().

◆ endGroupHeader()

void HtmlGenerator::endGroupHeader ( int extraIndentLevel)
overridevirtual

Implements OutputGenIntf.

Definition at line 1904 of file htmlgen.cpp.

1905{
1906 if (extraIndentLevel==2)
1907 {
1908 m_t << "</h4>\n";
1909 }
1910 else if (extraIndentLevel==1)
1911 {
1912 m_t << "</h3>\n";
1913 }
1914 else
1915 {
1916 m_t << "</h2>\n";
1917 }
1918}

References OutputGenerator::m_t.

◆ endHeaderSection()

void HtmlGenerator::endHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3449 of file htmlgen.cpp.

3450{
3451 m_t << "</div><!--header-->\n";
3452}

References OutputGenerator::m_t.

◆ endInclDepGraph()

void HtmlGenerator::endInclDepGraph ( DotInclDepGraph & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2536 of file htmlgen.cpp.

2537{
2542
2544
2547}
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool writeImageMap=TRUE, int graphId=-1)

References BITMAP, OutputGenerator::dir(), endSectionContent(), endSectionHeader(), endSectionSummary(), OutputGenerator::fileName(), Html, m_relPath, m_sectionCount, OutputGenerator::m_t, startSectionContent(), startSectionSummary(), TRUE, and DotInclDepGraph::writeGraph().

◆ endIndent()

void HtmlGenerator::endIndent ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2643 of file htmlgen.cpp.

2644{
2645 DBG_HTML(m_t << "<!-- endIndent -->\n";)
2646 m_t << "\n</div>\n" << "</div>\n";
2647}
#define DBG_HTML(x)
Definition htmlgen.cpp:62

References DBG_HTML, and OutputGenerator::m_t.

◆ endIndexItem()

void HtmlGenerator::endIndexItem ( const QCString & ref,
const QCString & file )
overridevirtual

Implements OutputGenIntf.

Definition at line 1817 of file htmlgen.cpp.

1818{
1819 //printf("HtmlGenerator::endIndexItem(%s,%s,%s)\n",ref,f,name);
1820 if (!ref.isEmpty() || !f.isEmpty())
1821 {
1822 m_t << "</a>";
1823 }
1824 else
1825 {
1826 m_t << "</b>";
1827 }
1828}

References QCString::isEmpty(), and OutputGenerator::m_t.

◆ endIndexKey()

void HtmlGenerator::endIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2306 of file htmlgen.cpp.

2307{
2308 //m_t << "</td>";
2309}

◆ endIndexList()

void HtmlGenerator::endIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2296 of file htmlgen.cpp.

2297{
2298 m_t << "</table>\n";
2299}

References OutputGenerator::m_t.

◆ endIndexListItem()

void HtmlGenerator::endIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1782 of file htmlgen.cpp.

1783{
1784 m_t << "</li>\n";
1785}

References OutputGenerator::m_t.

◆ endIndexSection()

void HtmlGenerator::endIndexSection ( IndexSection )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 134 of file htmlgen.h.

134{}

◆ endIndexValue()

void HtmlGenerator::endIndexValue ( const QCString & ,
bool  )
overridevirtual

Implements OutputGenIntf.

Definition at line 2316 of file htmlgen.cpp.

2317{
2318 //m_t << "</td></tr>\n";
2319}

◆ endInlineHeader()

void HtmlGenerator::endInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3464 of file htmlgen.cpp.

3465{
3466 m_t << "</h3></td></tr>\n";
3467}

References OutputGenerator::m_t.

◆ endInlineMemberDoc()

void HtmlGenerator::endInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3514 of file htmlgen.cpp.

3515{
3516 DBG_HTML(m_t << "<!-- endInlineMemberDoc -->\n";)
3517 m_t << "</td></tr>\n";
3518}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberName()

void HtmlGenerator::endInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3502 of file htmlgen.cpp.

3503{
3504 DBG_HTML(m_t << "<!-- endInlineMemberName -->\n";)
3505 m_t << "</td>\n";
3506}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberType()

void HtmlGenerator::endInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3490 of file htmlgen.cpp.

3491{
3492 DBG_HTML(m_t << "<!-- endInlineMemberType -->\n";)
3493 m_t << "</td>\n";
3494}

References DBG_HTML, and OutputGenerator::m_t.

◆ endItemList()

void HtmlGenerator::endItemList ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 154 of file htmlgen.h.

154{ m_t << "</ul>\n"; }

References OutputGenerator::m_t.

◆ endItemListItem()

void HtmlGenerator::endItemListItem ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 169 of file htmlgen.h.

169{ m_t << "</li>\n"; }

References OutputGenerator::m_t.

◆ endLabels()

void HtmlGenerator::endLabels ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3566 of file htmlgen.cpp.

3567{
3568 DBG_HTML(m_t << "<!-- endLabels -->\n";)
3569 m_t << "</span>";
3570}

References DBG_HTML, and OutputGenerator::m_t.

◆ endLocalToc()

void HtmlGenerator::endLocalToc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3666 of file htmlgen.cpp.

3667{
3668 if (m_tocState.level > m_tocState.maxLevel) m_tocState.level = m_tocState.maxLevel;
3669 while (m_tocState.level>0)
3670 {
3671 m_tocState.decIndent(m_t,"</li>");
3672 m_tocState.decIndent(m_t,"</ul>");
3673 m_tocState.level--;
3674 }
3675 m_t << "</div>\n";
3676}
TocState m_tocState
Definition htmlgen.h:362

References OutputGenerator::m_t, and m_tocState.

◆ endMemberDeclaration()

void HtmlGenerator::endMemberDeclaration ( const QCString & anchor,
const QCString & inheritId )
overridevirtual

Implements OutputGenIntf.

Definition at line 3641 of file htmlgen.cpp.

3642{
3643}

◆ endMemberDescription()

void HtmlGenerator::endMemberDescription ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2220 of file htmlgen.cpp.

2221{
2222 DBG_HTML(m_t << "<!-- endMemberDescription -->\n")
2223 m_t << "<br /></td></tr>\n";
2224}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDoc()

void HtmlGenerator::endMemberDoc ( bool hasArgs)
overridevirtual

Implements OutputGenIntf.

Definition at line 2486 of file htmlgen.cpp.

2487{
2488 DBG_HTML(m_t << "<!-- endMemberDoc -->\n";)
2489 if (!hasArgs)
2490 {
2491 m_t << " </tr>\n";
2492 }
2493 m_t << " </table>\n";
2494 // m_t << "</div>\n";
2495}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocList()

void HtmlGenerator::endMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2326 of file htmlgen.cpp.

2327{
2328 DBG_HTML(m_t << "<!-- endMemberDocList -->\n";)
2329}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocName()

void HtmlGenerator::endMemberDocName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2370 of file htmlgen.cpp.

2371{
2372 DBG_HTML(m_t << "<!-- endMemberDocName -->\n";)
2373 m_t << "</td>\n";
2374}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocPrefixItem()

void HtmlGenerator::endMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2354 of file htmlgen.cpp.

2355{
2356 DBG_HTML(m_t << "<!-- endMemberDocPrefixItem -->\n";)
2357 m_t << "</div>\n";
2358}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocSimple()

void HtmlGenerator::endMemberDocSimple ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 3478 of file htmlgen.cpp.

3479{
3480 DBG_HTML(m_t << "<!-- endMemberDocSimple -->\n";)
3481 m_t << "</table>\n";
3482}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberGroup()

void HtmlGenerator::endMemberGroup ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2632 of file htmlgen.cpp.

2633{
2634}

◆ endMemberGroupDocs()

void HtmlGenerator::endMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2623 of file htmlgen.cpp.

2624{
2625 m_t << "</div></td></tr>\n";
2626}

References OutputGenerator::m_t.

◆ endMemberGroupHeader()

void HtmlGenerator::endMemberGroupHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2613 of file htmlgen.cpp.

2614{
2615 m_t << "</div></td></tr>\n";
2616}

References OutputGenerator::m_t.

◆ endMemberHeader()

void HtmlGenerator::endMemberHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2268 of file htmlgen.cpp.

2269{
2270 DBG_HTML(m_t << "<!-- endMemberHeader -->\n")
2271 m_t << "</h2></td></tr>\n";
2272}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberItem()

void HtmlGenerator::endMemberItem ( MemberItemType type)
overridevirtual

Implements OutputGenIntf.

Definition at line 2149 of file htmlgen.cpp.

2150{
2152 {
2153 insertMemberAlign(false);
2154 }
2155 m_t << "</td></tr>\n";
2156}
OutputType type() const override
Definition htmlgen.h:122
void insertMemberAlign(bool) override
Definition htmlgen.cpp:2183

References OutputGenerator::AnonymousStart, insertMemberAlign(), OutputGenerator::m_t, and type().

◆ endMemberList()

void HtmlGenerator::endMemberList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2118 of file htmlgen.cpp.

2119{
2120 DBG_HTML(m_t << "<!-- endMemberList -->\n")
2121}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberSections()

void HtmlGenerator::endMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2234 of file htmlgen.cpp.

2235{
2236 DBG_HTML(m_t << "<!-- endMemberSections -->\n")
2237 if (!m_emptySection)
2238 {
2239 m_t << "</table>\n";
2240 }
2241}

References DBG_HTML, m_emptySection, and OutputGenerator::m_t.

◆ endMemberSubtitle()

void HtmlGenerator::endMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2285 of file htmlgen.cpp.

2286{
2287 DBG_HTML(m_t << "<!-- endMemberSubtitle -->\n")
2288 m_t << "</td></tr>\n";
2289}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberTemplateParams()

void HtmlGenerator::endMemberTemplateParams ( const QCString & anchor,
const QCString & inheritId )
overridevirtual

Implements OutputGenIntf.

Definition at line 2162 of file htmlgen.cpp.

2163{
2164 m_t << "</td></tr>\n";
2165 m_t << "<tr class=\"memitem:" << convertToId(anchor);
2166 if (!inheritId.isEmpty())
2167 {
2168 m_t << " inherit " << inheritId;
2169 }
2170 m_t << " template\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">";
2171}

References convertToId(), QCString::isEmpty(), and OutputGenerator::m_t.

◆ endPageDoc()

void HtmlGenerator::endPageDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3159 of file htmlgen.cpp.

3160{
3161 m_t << "</div><!-- PageDoc -->\n";
3162}

References OutputGenerator::m_t.

◆ endPageRef()

void HtmlGenerator::endPageRef ( const QCString & ,
const QCString &  )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 249 of file htmlgen.h.

249{}

◆ endParagraph()

void HtmlGenerator::endParagraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1767 of file htmlgen.cpp.

1768{
1769 m_t << "</p>\n";
1770}

References OutputGenerator::m_t.

◆ endParameterDefVal()

void HtmlGenerator::endParameterDefVal ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2455 of file htmlgen.cpp.

2456{
2457 m_t << "</span>";
2458}

References OutputGenerator::m_t.

◆ endParameterExtra()

void HtmlGenerator::endParameterExtra ( bool last,
bool emptyList,
bool closeBracket )
overridevirtual

Implements OutputGenIntf.

Definition at line 2424 of file htmlgen.cpp.

2425{
2426 DBG_HTML(m_t << "<!-- endParameterExtra -->\n";)
2427 if (last)
2428 {
2429 if (emptyList)
2430 {
2431 if (closeBracket) m_t << "</td><td>)";
2432 m_t << "</td>\n";
2433 m_t << " <td>";
2434 }
2435 else
2436 {
2437 m_t << "&#160;";
2438 if (closeBracket) m_t << ")";
2439 }
2440 }
2441 else
2442 {
2443 m_t << "</td>\n";
2444 m_t << " </tr>\n";
2445 }
2446}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterList()

void HtmlGenerator::endParameterList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2460 of file htmlgen.cpp.

2461{
2462 DBG_HTML(m_t << "<!-- endParameterList -->\n";)
2463 m_t << "</td>\n";
2464 m_t << " </tr>\n";
2465}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterName()

void HtmlGenerator::endParameterName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2413 of file htmlgen.cpp.

2414{
2415 DBG_HTML(m_t << "<!-- endParameterName -->\n";)
2416 m_t << "</em></span>";
2417}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterType()

void HtmlGenerator::endParameterType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2401 of file htmlgen.cpp.

2402{
2403 DBG_HTML(m_t << "<!-- endParameterType -->\n";)
2404 m_t << "</td>";
2405}

References DBG_HTML, and OutputGenerator::m_t.

◆ endPlainFile()

void HtmlGenerator::endPlainFile ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 335 of file htmlgen.h.

References OutputGenerator::endPlainFile().

Referenced by endFile(), and writeStyleInfo().

◆ endProjectNumber()

void HtmlGenerator::endProjectNumber ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1668 of file htmlgen.cpp.

1669{
1670 m_t << "</h3>";
1671}

References OutputGenerator::m_t.

◆ endQuickIndices()

void HtmlGenerator::endQuickIndices ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3089 of file htmlgen.cpp.

3090{
3091 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3092 m_t << "</div><!-- top -->\n";
3093 if (!generateTreeView)
3094 {
3095 m_t << "<div id=\"doc-content\">\n";
3096 }
3097}

References Config_getBool, and OutputGenerator::m_t.

◆ endSection()

void HtmlGenerator::endSection ( const QCString & ,
SectionType type )
overridevirtual

Implements OutputGenIntf.

Definition at line 1936 of file htmlgen.cpp.

1937{
1938 switch(type.level())
1939 {
1940 case SectionType::Page: m_t << "</h1>"; break;
1941 case SectionType::Section: m_t << "</h2>"; break;
1942 case SectionType::Subsection: m_t << "</h3>"; break;
1943 case SectionType::Subsubsection: m_t << "</h4>"; break;
1944 case SectionType::Paragraph: m_t << "</h5>"; break;
1945 case SectionType::Subparagraph: m_t << "</h6>"; break;
1946 case SectionType::Subsubparagraph: m_t << "</h6>"; break;
1947 default: ASSERT(0); break;
1948 }
1949}
static constexpr int Section
Definition section.h:33
static constexpr int Subsection
Definition section.h:34
static constexpr int Subsubsection
Definition section.h:35
static constexpr int Page
Definition section.h:31
static constexpr int Paragraph
Definition section.h:36
static constexpr int Subsubparagraph
Definition section.h:38
static constexpr int Subparagraph
Definition section.h:37
#define ASSERT(x)
Definition qcstring.h:39

References ASSERT, OutputGenerator::m_t, SectionType::Page, SectionType::Paragraph, SectionType::Section, SectionType::Subparagraph, SectionType::Subsection, SectionType::Subsubparagraph, SectionType::Subsubsection, and type().

◆ endSmall()

void HtmlGenerator::endSmall ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 237 of file htmlgen.h.

237{ m_t << "</small>\n"; }

References OutputGenerator::m_t.

◆ endTextBlock()

void HtmlGenerator::endTextBlock ( bool )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 288 of file htmlgen.h.

288{ m_t << "</div>"; }

References OutputGenerator::m_t.

◆ endTextLink()

void HtmlGenerator::endTextLink ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1878 of file htmlgen.cpp.

1879{
1880 m_t << "</a>";
1881}

References OutputGenerator::m_t.

◆ endTitle()

void HtmlGenerator::endTitle ( )
inlineprivate

Definition at line 339 of file htmlgen.h.

339{ m_t << "</div>"; }

References OutputGenerator::m_t.

Referenced by endTitleHead().

◆ endTitleHead()

void HtmlGenerator::endTitleHead ( const QCString & ,
const QCString &  )
overridevirtual

Implements OutputGenIntf.

Definition at line 3443 of file htmlgen.cpp.

3444{
3445 endTitle();
3446 m_t << "</div>\n";
3447}
void endTitle()
Definition htmlgen.h:339

References endTitle(), and OutputGenerator::m_t.

◆ endTocEntry()

void HtmlGenerator::endTocEntry ( const SectionInfo * si)
overridevirtual

Implements OutputGenIntf.

Definition at line 3722 of file htmlgen.cpp.

3723{
3724 SectionType type = si->type();
3725 int nextLevel = type.level();
3726 if (type.isSection() && nextLevel<=m_tocState.maxLevel)
3727 {
3728 m_t << "</a>\n";
3729 m_tocState.inLi[nextLevel]=true;
3730 m_tocState.level = nextLevel;
3731 }
3732}
SectionType type() const
Definition section.h:70

References OutputGenerator::m_t, m_tocState, type(), and SectionInfo::type().

◆ endTypewriter()

void HtmlGenerator::endTypewriter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 165 of file htmlgen.h.

165{ m_t << "</code>"; }

References OutputGenerator::m_t.

◆ exceptionEntry()

void HtmlGenerator::exceptionEntry ( const QCString & prefix,
bool closeBracket )
overridevirtual

Implements OutputGenIntf.

Definition at line 2467 of file htmlgen.cpp.

2468{
2469 DBG_HTML(m_t << "<!-- exceptionEntry -->\n";)
2470 if (!closeBracket)
2471 {
2472 m_t << "</td>\n";
2473 m_t << " </tr>\n";
2474 m_t << " <tr>\n";
2475 m_t << " <td align=\"right\">";
2476 }
2477 // colspan 2 so it gets both parameter type and parameter name columns
2478 if (!prefix.isEmpty())
2479 m_t << prefix << "</td><td>(</td><td colspan=\"2\">";
2480 else if (closeBracket)
2481 m_t << "&#160;)</td><td></td><td></td><td>";
2482 else
2483 m_t << "</td><td></td><td colspan=\"2\">";
2484}
constexpr auto prefix
Definition anchor.cpp:44

References DBG_HTML, OutputGenerator::m_t, and prefix.

◆ getMathJaxMacros()

QCString HtmlGenerator::getMathJaxMacros ( )
static

Definition at line 3645 of file htmlgen.cpp.

3646{
3647 return getConvertLatexMacro();
3648}
static QCString getConvertLatexMacro()
Convert a set of LaTeX commands \‍(re)newcommand to a form readable by MathJax LaTeX syntax:
Definition htmlgen.cpp:150

References getConvertLatexMacro().

◆ getNavTreeCss()

QCString HtmlGenerator::getNavTreeCss ( )
static

Definition at line 3650 of file htmlgen.cpp.

3651{
3652 ResourceMgr &mgr = ResourceMgr::instance();
3653 return replaceVariables(mgr.getAsString("navtree.css"));
3654}
static ResourceMgr & instance()
Returns the one and only instance of this class.
QCString getAsString(const QCString &name) const
Gets the resource data as a C string.
static QCString replaceVariables(const QCString &input)
Definition htmlgen.cpp:706

References ResourceMgr::getAsString(), ResourceMgr::instance(), and replaceVariables().

Referenced by init().

◆ init()

void HtmlGenerator::init ( )
static

Definition at line 1203 of file htmlgen.cpp.

1204{
1205 QCString dname = Config_getString(HTML_OUTPUT);
1206 Dir d(dname.str());
1207 if (!d.exists() && !d.mkdir(dname.str()))
1208 {
1209 term("Could not create output directory {}\n",dname);
1210 }
1211 //writeLogo(dname);
1212 if (!Config_getString(HTML_HEADER).isEmpty())
1213 {
1214 g_header_file=Config_getString(HTML_HEADER);
1217 //printf("g_header='%s'\n",qPrint(g_header));
1218 QCString result = substituteHtmlKeywords(g_header_file,g_header,QCString(),QCString());
1219 checkBlocks(result,Config_getString(HTML_HEADER),htmlMarkerInfo);
1220 }
1221 else
1222 {
1223 g_header_file="header.html";
1226 QCString result = substituteHtmlKeywords(g_header_file,g_header,QCString(),QCString());
1227 checkBlocks(result,"<default header.html>",htmlMarkerInfo);
1228 }
1229
1230 if (!Config_getString(HTML_FOOTER).isEmpty())
1231 {
1232 g_footer_file=Config_getString(HTML_FOOTER);
1235 //printf("g_footer='%s'\n",qPrint(g_footer));
1236 QCString result = substituteHtmlKeywords(g_footer_file,g_footer,QCString(),QCString());
1237 checkBlocks(result,Config_getString(HTML_FOOTER),htmlMarkerInfo);
1238 }
1239 else
1240 {
1241 g_footer_file = "footer.html";
1244 QCString result = substituteHtmlKeywords(g_footer_file,g_footer,QCString(),QCString());
1245 checkBlocks(result,"<default footer.html>",htmlMarkerInfo);
1246 }
1247
1248 if (Config_getBool(USE_MATHJAX))
1249 {
1250 if (!Config_getString(MATHJAX_CODEFILE).isEmpty())
1251 {
1252 g_mathjax_code=fileToString(Config_getString(MATHJAX_CODEFILE));
1253 //printf("g_mathjax_code='%s'\n",qPrint(g_mathjax_code));
1254 }
1256 //printf("converted g_latex_macro='%s'\n",qPrint(g_latex_macro));
1257 }
1258 createSubDirs(d);
1259
1261
1262 ResourceMgr &mgr = ResourceMgr::instance();
1263
1264 {
1265 QCString tabsCss;
1266 if (Config_getBool(HTML_DYNAMIC_MENUS))
1267 {
1268 tabsCss = mgr.getAsString("tabs.css");
1269 }
1270 else // stylesheet for the 'old' static tabs
1271 {
1272 tabsCss = mgr.getAsString("fixed_tabs.css");
1273 }
1274
1275 std::ofstream f = Portable::openOutputStream(dname+"/tabs.css");
1276 if (f.is_open())
1277 {
1278 TextStream t(&f);
1279 t << replaceVariables(tabsCss);
1280 }
1281 }
1282
1283
1284 mgr.copyResource("jquery.js",dname);
1285 if (Config_getBool(INTERACTIVE_SVG))
1286 {
1287 mgr.copyResource("svg.min.js",dname);
1288 }
1289
1290 if (!Config_getBool(DISABLE_INDEX) && Config_getBool(HTML_DYNAMIC_MENUS))
1291 {
1292 mgr.copyResource("menu.js",dname);
1293 }
1294
1295 // copy navtree.css
1296 {
1297 std::ofstream f = Portable::openOutputStream(dname+"/navtree.css");
1298 if (f.is_open())
1299 {
1300 TextStream t(&f);
1301 t << getNavTreeCss();
1302 }
1303 }
1304
1305 if (Config_getBool(HTML_COPY_CLIPBOARD))
1306 {
1307 std::ofstream f = Portable::openOutputStream(dname+"/clipboard.js");
1308 if (f.is_open())
1309 {
1310 TextStream t(&f);
1311 t << substitute(mgr.getAsString("clipboard.js"),"$copy_to_clipboard_text",theTranslator->trCopyToClipboard());
1312 }
1313 }
1314
1315 bool hasCookie = Config_getBool(GENERATE_TREEVIEW) || Config_getBool(SEARCHENGINE) || Config_getEnum(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE;
1316 if (hasCookie)
1317 {
1318 mgr.copyResource("cookie.js",dname);
1319 }
1320
1321 if (Config_getBool(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE)
1322 {
1323 std::ofstream f = Portable::openOutputStream(dname+"/darkmode_toggle.js");
1324 if (f.is_open())
1325 {
1326 TextStream t(&f);
1327 t << substitute(replaceColorMarkers(mgr.getAsString("darkmode_toggle.js")),
1328 "$PROJECTID",getProjectId());
1329 }
1330 }
1331
1332 {
1333 std::ofstream f = Portable::openOutputStream(dname+"/dynsections.js");
1334 if (f.is_open())
1335 {
1336 TextStream t(&f);
1337 t << replaceVariables(mgr.getAsString("dynsections.js"));
1338 if (Config_getBool(SOURCE_BROWSER) && Config_getBool(SOURCE_TOOLTIPS))
1339 {
1340 t << replaceVariables(mgr.getAsString("dynsections_tooltips.js"));
1341 }
1342 }
1343 }
1344}
static QCString getNavTreeCss()
Definition htmlgen.cpp:3650
bool copyResource(const QCString &name, const QCString &targetDir) const
Copies a registered resource to a given target directory.
virtual QCString trCopyToClipboard()=0
#define Config_getEnum(name)
Definition config.h:35
static bool g_build_date
Definition htmlgen.cpp:70
static QCString g_header
Definition htmlgen.cpp:64
static QCString g_header_file
Definition htmlgen.cpp:65
static QCString g_mathjax_code
Definition htmlgen.cpp:68
static QCString g_footer
Definition htmlgen.cpp:67
static const SelectionMarkerInfo htmlMarkerInfo
Definition htmlgen.cpp:73
static QCString g_footer_file
Definition htmlgen.cpp:66
static bool hasDateReplacement(const QCString &str)
Definition htmlgen.cpp:1194
static QCString g_latex_macro
Definition htmlgen.cpp:69
static void fillColorStyleMaps()
Definition htmlgen.cpp:692
static QCString substituteHtmlKeywords(const QCString &file, const QCString &str, const QCString &title, const QCString &relPath, const QCString &navPath=QCString(), bool isSource=false)
Definition htmlgen.cpp:324
#define term(fmt,...)
Definition message.h:137
std::ofstream openOutputStream(const QCString &name, bool append=false)
Definition portable.cpp:649
QCString substitute(const QCString &s, const QCString &src, const QCString &dst)
substitute all occurrences of src in s by dst
Definition qcstring.cpp:482
void checkBlocks(const QCString &s, const QCString fileName, const SelectionMarkerInfo &markerInfo)
Definition util.cpp:6432
QCString fileToString(const QCString &name, bool filter, bool isSourceCode)
Definition util.cpp:1439
void createSubDirs(const Dir &d)
Definition util.cpp:3561
QCString getProjectId()
Definition util.cpp:6721
QCString replaceColorMarkers(const QCString &str)
Replaces any markers of the form ##AA in input string str by new markers of the form #AABBCC,...
Definition util.cpp:5718

References checkBlocks(), Config_getBool, Config_getEnum, Config_getString, ResourceMgr::copyResource(), createSubDirs(), Dir::exists(), fileToString(), fillColorStyleMaps(), g_build_date, g_footer, g_footer_file, g_header, g_header_file, g_latex_macro, g_mathjax_code, ResourceMgr::getAsString(), getConvertLatexMacro(), getNavTreeCss(), getProjectId(), hasDateReplacement(), htmlMarkerInfo, ResourceMgr::instance(), Dir::mkdir(), Portable::openOutputStream(), replaceColorMarkers(), replaceVariables(), QCString::str(), substitute(), substituteHtmlKeywords(), term, and theTranslator.

Referenced by generateOutput().

◆ insertMemberAlign()

void HtmlGenerator::insertMemberAlign ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2183 of file htmlgen.cpp.

2184{
2185 DBG_HTML(m_t << "<!-- insertMemberAlign -->\n")
2186 m_t << "&#160;</td><td class=\"memItemRight\" valign=\"bottom\">";
2187}

References DBG_HTML, and OutputGenerator::m_t.

Referenced by endMemberItem().

◆ insertMemberAlignLeft()

void HtmlGenerator::insertMemberAlignLeft ( MemberItemType type,
bool initTag )
overridevirtual

Implements OutputGenIntf.

Definition at line 2189 of file htmlgen.cpp.

2190{
2191 if (!initTag) m_t << "&#160;</td>";
2192 switch (type)
2193 {
2194 case MemberItemType::Normal: m_t << "<td class=\"memItemLeft\" align=\"right\" valign=\"top\">"; break;
2195 case MemberItemType::AnonymousStart: m_t << "<td class=\"memItemLeft anon\">"; break;
2196 case MemberItemType::AnonymousEnd: m_t << "<td class=\"memItemLeft anonEnd\" valign=\"top\">"; break;
2197 case MemberItemType::Templated: m_t << "<td class=\"memTemplParams\" colspan=\"2\">"; break;
2198 }
2199}

References OutputGenerator::AnonymousEnd, OutputGenerator::AnonymousStart, OutputGenerator::m_t, OutputGenerator::Normal, OutputGenerator::Templated, and type().

Referenced by startMemberItem().

◆ lastIndexPage()

void HtmlGenerator::lastIndexPage ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 289 of file htmlgen.h.

289{}

◆ lineBreak()

void HtmlGenerator::lineBreak ( const QCString & style)
overridevirtual

Implements OutputGenIntf.

Definition at line 3420 of file htmlgen.cpp.

3421{
3422 if (!style.isEmpty())
3423 {
3424 m_t << "<br class=\"" << style << "\" />\n";
3425 }
3426 else
3427 {
3428 m_t << "<br />\n";
3429 }
3430}

References QCString::isEmpty(), and OutputGenerator::m_t.

◆ operator=() [1/2]

HtmlGenerator & HtmlGenerator::operator= ( const HtmlGenerator & og)

Definition at line 1169 of file htmlgen.cpp.

1170{
1171 //printf("%p:HtmlGenerator(copy assign %p)\n",(void*)this,(void*)&og);
1172 if (this!=&og)
1173 {
1174 m_dir = og.m_dir;
1175 m_codeList = std::make_unique<OutputCodeList>(*og.m_codeList);
1176 m_codeGen = m_codeList->get<HtmlCodeGenerator>(OutputType::Html);
1177 m_codeGen->setTextStream(&m_t);
1180 m_relPath = og.m_relPath;
1183 }
1184 return *this;
1185}

References Html, HtmlGenerator(), m_codeGen, m_codeList, OutputGenerator::m_dir, m_emptySection, m_lastFile, m_lastTitle, m_relPath, m_sectionCount, and OutputGenerator::m_t.

◆ operator=() [2/2]

HtmlGenerator & HtmlGenerator::operator= ( HtmlGenerator && )
delete

References HtmlGenerator().

◆ startAnonTypeScope()

void HtmlGenerator::startAnonTypeScope ( int )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 185 of file htmlgen.h.

185{}

◆ startBold()

void HtmlGenerator::startBold ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 216 of file htmlgen.h.

216{ m_t << "<b>"; }

References OutputGenerator::m_t.

◆ startCallGraph()

void HtmlGenerator::startCallGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2567 of file htmlgen.cpp.

2568{
2570}
static void startSectionHeader(TextStream &t, const QCString &relPath, int sectionCount)
Definition htmlgen.cpp:2003

References m_relPath, m_sectionCount, OutputGenerator::m_t, and startSectionHeader().

◆ startCenter()

void HtmlGenerator::startCenter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 234 of file htmlgen.h.

234{ m_t << "<center>\n"; }

References OutputGenerator::m_t.

◆ startClassDiagram()

void HtmlGenerator::startClassDiagram ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2074 of file htmlgen.cpp.

References m_relPath, m_sectionCount, OutputGenerator::m_t, and startSectionHeader().

◆ startCompoundTemplateParams()

void HtmlGenerator::startCompoundTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2173 of file htmlgen.cpp.

2174{
2175 m_t << "<div class=\"compoundTemplParams\">";
2176}

References OutputGenerator::m_t.

◆ startConstraintDocs()

void HtmlGenerator::startConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3402 of file htmlgen.cpp.

3403{
3404 m_t << "<td>&#160;";
3405}

References OutputGenerator::m_t.

◆ startConstraintList()

void HtmlGenerator::startConstraintList ( const QCString & header)
overridevirtual

Implements OutputGenIntf.

Definition at line 3375 of file htmlgen.cpp.

3376{
3377 m_t << "<div class=\"typeconstraint\">\n";
3378 m_t << "<dl><dt><b>" << header << "</b></dt><dd>\n";
3379 m_t << "<table border=\"0\" cellspacing=\"2\" cellpadding=\"0\">\n";
3380}

References OutputGenerator::m_t.

◆ startConstraintParam()

void HtmlGenerator::startConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3382 of file htmlgen.cpp.

3383{
3384 m_t << "<tr><td valign=\"top\"><em>";
3385}

References OutputGenerator::m_t.

◆ startConstraintType()

void HtmlGenerator::startConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3392 of file htmlgen.cpp.

3393{
3394 m_t << "<td>&#160;:</td><td valign=\"top\"><em>";
3395}

References OutputGenerator::m_t.

◆ startContents()

void HtmlGenerator::startContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3144 of file htmlgen.cpp.

3145{
3146 m_t << "<div class=\"contents\">\n";
3147}

References OutputGenerator::m_t.

◆ startDescForItem()

void HtmlGenerator::startDescForItem ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 218 of file htmlgen.h.

218{ m_t << "<dd>"; }

References OutputGenerator::m_t.

◆ startDescTable()

void HtmlGenerator::startDescTable ( const QCString & title,
const bool hasInits )
overridevirtual

Implements OutputGenIntf.

Definition at line 2661 of file htmlgen.cpp.

2662{
2663 m_t << "<table class=\"fieldtable\">\n"
2664 << "<tr><th colspan=\"" << (hasInits?3:2) << "\">" << title << "</th></tr>";
2665}

References OutputGenerator::m_t.

◆ startDescTableData()

void HtmlGenerator::startDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2701 of file htmlgen.cpp.

2702{
2703 m_t << "<td class=\"fielddoc\">";
2704}

References OutputGenerator::m_t.

◆ startDescTableInit()

void HtmlGenerator::startDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2691 of file htmlgen.cpp.

2692{
2693 m_t << "<td class=\"fieldinit\">";
2694}

References OutputGenerator::m_t.

◆ startDescTableRow()

void HtmlGenerator::startDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2671 of file htmlgen.cpp.

2672{
2673 m_t << "<tr>";
2674}

References OutputGenerator::m_t.

◆ startDescTableTitle()

void HtmlGenerator::startDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2681 of file htmlgen.cpp.

2682{
2683 m_t << "<td class=\"fieldname\">";
2684}

References OutputGenerator::m_t.

◆ startDirDepGraph()

void HtmlGenerator::startDirDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2585 of file htmlgen.cpp.

References m_relPath, m_sectionCount, OutputGenerator::m_t, and startSectionHeader().

◆ startDotGraph()

void HtmlGenerator::startDotGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2497 of file htmlgen.cpp.

References m_relPath, m_sectionCount, OutputGenerator::m_t, and startSectionHeader().

◆ startDoxyAnchor()

void HtmlGenerator::startDoxyAnchor ( const QCString & fName,
const QCString & manName,
const QCString & anchor,
const QCString & name,
const QCString & args )
overridevirtual

Implements OutputGenIntf.

Definition at line 1744 of file htmlgen.cpp.

1747{
1748 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>";
1749}

References OutputGenerator::m_t.

◆ startEmphasis()

void HtmlGenerator::startEmphasis ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 214 of file htmlgen.h.

214{ m_t << "<em>"; }

References OutputGenerator::m_t.

◆ startExamples()

void HtmlGenerator::startExamples ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2711 of file htmlgen.cpp.

2712{
2713 m_t << "<dl class=\"section examples\"><dt>";
2715 m_t << "</dt>";
2716}
void docify(const QCString &text) override
Definition htmlgen.cpp:1951
virtual QCString trExamples()=0

References docify(), OutputGenerator::m_t, and theTranslator.

◆ startFile()

void HtmlGenerator::startFile ( const QCString & name,
bool isSource,
const QCString & manName,
const QCString & title,
int id,
int hierarchyLevel )
overridevirtual

Implements OutputGenIntf.

Definition at line 1545 of file htmlgen.cpp.

1547{
1548 //printf("HtmlGenerator::startFile(%s)\n",qPrint(name));
1550 QCString fileName = name;
1552 m_lastTitle=title;
1553
1555 m_codeGen->setFileName(fileName);
1556 m_codeGen->setRelativePath(m_relPath);
1557 {
1558 std::lock_guard<std::mutex> lock(g_indexLock);
1560 }
1561
1564
1565 m_t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
1566 << getDoxygenVersion() << " -->\n";
1567 bool searchEngine = Config_getBool(SEARCHENGINE);
1568 if (searchEngine /*&& !generateTreeView*/)
1569 {
1570 m_t << "<script type=\"text/javascript\">\n";
1571 m_t << "var searchBox = new SearchBox(\"searchBox\", \""
1572 << m_relPath<< "search/\",'" << Doxygen::htmlFileExtension << "');\n";
1573 m_t << "</script>\n";
1574 }
1575 if (Config_getBool(HTML_CODE_FOLDING))
1576 {
1577 m_t << "<script type=\"text/javascript\">\n";
1578 m_t << "$(function() { codefold.init(); });\n";
1579 m_t << "</script>\n";
1580 }
1582}
static IndexList * indexList
Definition doxygen.h:134
void startPlainFile(const QCString &name) override
Definition htmlgen.h:334
void addIndexFile(const QCString &name)
Definition indexlist.h:124
virtual QCString trGeneratedBy()=0
static std::mutex g_indexLock
Definition htmlgen.cpp:1543
QCString convertToHtml(const QCString &s, bool keepEntities)
Definition util.cpp:3884
QCString relativePathToRoot(const QCString &name)
Definition util.cpp:3500
QCString filterTitle(const QCString &title)
Definition util.cpp:5526
void addHtmlExtensionIfMissing(QCString &fName)
Definition util.cpp:4823

References addHtmlExtensionIfMissing(), Config_getBool, convertToHtml(), OutputGenerator::fileName(), filterTitle(), g_header, g_header_file, g_indexLock, Doxygen::htmlFileExtension, Doxygen::indexList, m_codeGen, m_lastFile, m_lastTitle, m_relPath, m_sectionCount, OutputGenerator::m_t, relativePathToRoot(), startPlainFile(), substituteHtmlKeywords(), and theTranslator.

◆ startGroupCollaboration()

void HtmlGenerator::startGroupCollaboration ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2549 of file htmlgen.cpp.

References m_relPath, m_sectionCount, OutputGenerator::m_t, and startSectionHeader().

◆ startGroupHeader()

void HtmlGenerator::startGroupHeader ( const QCString & id,
int extraIndentLevel )
overridevirtual

Implements OutputGenIntf.

Definition at line 1883 of file htmlgen.cpp.

1884{
1885 if (extraIndentLevel==2)
1886 {
1887 m_t << "<h4";
1888 }
1889 else if (extraIndentLevel==1)
1890 {
1891 m_t << "<h3";
1892 }
1893 else // extraIndentLevel==0
1894 {
1895 m_t << "<h2";
1896 }
1897 if (!id.isEmpty())
1898 {
1899 m_t <<" id=\"header-"+convertToId(id)+"\"";
1900 }
1901 m_t << " class=\"groupheader\">";
1902}

References convertToId(), and OutputGenerator::m_t.

◆ startHeaderSection()

void HtmlGenerator::startHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3432 of file htmlgen.cpp.

3433{
3434 m_t << "<div class=\"header\">\n";
3435}

References OutputGenerator::m_t.

◆ startInclDepGraph()

void HtmlGenerator::startInclDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2531 of file htmlgen.cpp.

References m_relPath, m_sectionCount, OutputGenerator::m_t, and startSectionHeader().

◆ startIndent()

void HtmlGenerator::startIndent ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2636 of file htmlgen.cpp.

2637{
2638 DBG_HTML(m_t << "<!-- startIndent -->\n";)
2639
2640 m_t << "<div class=\"memdoc\">\n";
2641}

References DBG_HTML, and OutputGenerator::m_t.

◆ startIndexItem()

void HtmlGenerator::startIndexItem ( const QCString & ref,
const QCString & file )
overridevirtual

Implements OutputGenIntf.

Definition at line 1787 of file htmlgen.cpp.

1788{
1789 //printf("HtmlGenerator::startIndexItem(%s,%s)\n",ref,f);
1790 if (!ref.isEmpty() || !f.isEmpty())
1791 {
1792 if (!ref.isEmpty())
1793 {
1794 m_t << "<a class=\"elRef\" ";
1796 }
1797 else
1798 {
1799 m_t << "<a class=\"el\" ";
1800 }
1801 m_t << "href=\"";
1802 m_t << externalRef(m_relPath,ref,TRUE);
1803 if (!f.isEmpty())
1804 {
1805 QCString fn=f;
1807 m_t << fn;
1808 }
1809 m_t << "\">";
1810 }
1811 else
1812 {
1813 m_t << "<b>";
1814 }
1815}
QCString externalRef(const QCString &relPath, const QCString &ref, bool href)
Definition util.cpp:5665
QCString externalLinkTarget(const bool parent)
Definition util.cpp:5621

References addHtmlExtensionIfMissing(), externalLinkTarget(), externalRef(), QCString::isEmpty(), m_relPath, OutputGenerator::m_t, and TRUE.

◆ startIndexKey()

void HtmlGenerator::startIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2301 of file htmlgen.cpp.

2302{
2303 //m_t << " <tr><td class=\"indexkey\">";
2304}

◆ startIndexList()

void HtmlGenerator::startIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2291 of file htmlgen.cpp.

2292{
2293 m_t << "<table>\n";
2294}

References OutputGenerator::m_t.

◆ startIndexListItem()

void HtmlGenerator::startIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1777 of file htmlgen.cpp.

1778{
1779 m_t << "<li>";
1780}

References OutputGenerator::m_t.

◆ startIndexSection()

void HtmlGenerator::startIndexSection ( IndexSection )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 133 of file htmlgen.h.

133{}

◆ startIndexValue()

void HtmlGenerator::startIndexValue ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2311 of file htmlgen.cpp.

2312{
2313 //m_t << "<td class=\"indexvalue\">";
2314}

◆ startInlineHeader()

void HtmlGenerator::startInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3454 of file htmlgen.cpp.

3455{
3456 if (m_emptySection)
3457 {
3458 m_t << "<table class=\"memberdecls\">\n";
3460 }
3461 m_t << "<tr><td colspan=\"2\"><h3>";
3462}

References FALSE, m_emptySection, and OutputGenerator::m_t.

◆ startInlineMemberDoc()

void HtmlGenerator::startInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3508 of file htmlgen.cpp.

3509{
3510 DBG_HTML(m_t << "<!-- startInlineMemberDoc -->\n";)
3511 m_t << "<td class=\"fielddoc\">\n";
3512}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberName()

void HtmlGenerator::startInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3496 of file htmlgen.cpp.

3497{
3498 DBG_HTML(m_t << "<!-- startInlineMemberName -->\n";)
3499 m_t << "<td class=\"fieldname\">\n";
3500}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberType()

void HtmlGenerator::startInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3484 of file htmlgen.cpp.

3485{
3486 DBG_HTML(m_t << "<!-- startInlineMemberType -->\n";)
3487 m_t << "<tr><td class=\"fieldtype\">\n";
3488}

References DBG_HTML, and OutputGenerator::m_t.

◆ startItemList()

void HtmlGenerator::startItemList ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 153 of file htmlgen.h.

153{ m_t << "<ul>\n"; }

References OutputGenerator::m_t.

◆ startItemListItem()

void HtmlGenerator::startItemListItem ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 168 of file htmlgen.h.

168{ m_t << "<li>"; }

References OutputGenerator::m_t.

◆ startLabels()

void HtmlGenerator::startLabels ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3520 of file htmlgen.cpp.

3521{
3522 DBG_HTML(m_t << "<!-- startLabels -->\n";)
3523 m_t << "<span class=\"mlabels\">";
3524}

References DBG_HTML, and OutputGenerator::m_t.

◆ startLocalToc()

void HtmlGenerator::startLocalToc ( int level)
overridevirtual

Implements OutputGenIntf.

Definition at line 3656 of file htmlgen.cpp.

3657{
3658 m_tocState.level=0;
3659 m_tocState.indent=0;
3660 m_tocState.maxLevel=level;
3661 m_tocState.inLi = BoolVector(level+1,false);
3662 m_t << "<div class=\"toc\">";
3663 m_t << "<h3>" << theTranslator->trRTFTableOfContents() << "</h3>\n";
3664}
virtual QCString trRTFTableOfContents()=0
std::vector< bool > BoolVector
Definition containers.h:36

References OutputGenerator::m_t, m_tocState, and theTranslator.

◆ startMemberDeclaration()

void HtmlGenerator::startMemberDeclaration ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 205 of file htmlgen.h.

205{}

◆ startMemberDescription()

void HtmlGenerator::startMemberDescription ( const QCString & anchor,
const QCString & inheritId,
bool typ )
overridevirtual

Implements OutputGenIntf.

Definition at line 2201 of file htmlgen.cpp.

2202{
2203 DBG_HTML(m_t << "<!-- startMemberDescription -->\n")
2204 if (m_emptySection)
2205 {
2206 m_t << "<table class=\"memberdecls\">\n";
2208 }
2209 m_t << "<tr class=\"memdesc:" << anchor;
2210 if (!inheritId.isEmpty())
2211 {
2212 m_t << " inherit " << inheritId;
2213 }
2214 m_t << "\">";
2215 m_t << "<td class=\"mdescLeft\">&#160;</td>";
2216 if (typ) m_t << "<td class=\"mdescLeft\">&#160;</td>";
2217 m_t << "<td class=\"mdescRight\">";
2218}

References DBG_HTML, FALSE, QCString::isEmpty(), m_emptySection, and OutputGenerator::m_t.

◆ startMemberDoc()

void HtmlGenerator::startMemberDoc ( const QCString & clName,
const QCString & memName,
const QCString & anchor,
const QCString & title,
int memCount,
int memTotal,
bool showInline )
overridevirtual

Implements OutputGenIntf.

Definition at line 2331 of file htmlgen.cpp.

2334{
2335 DBG_HTML(m_t << "<!-- startMemberDoc -->\n";)
2336 m_t << "\n<h2 class=\"memtitle\">"
2337 << "<span class=\"permalink\"><a href=\"#" << anchor << "\">&#9670;&#160;</a></span>";
2338 docify(title);
2339 if (memTotal>1)
2340 {
2341 m_t << " <span class=\"overload\">[" << memCount << "/" << memTotal <<"]</span>";
2342 }
2343 m_t << "</h2>\n";
2344 m_t << "\n<div class=\"memitem\">\n";
2345 m_t << "<div class=\"memproto\">\n";
2346}

References DBG_HTML, docify(), and OutputGenerator::m_t.

◆ startMemberDocList()

void HtmlGenerator::startMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2321 of file htmlgen.cpp.

2322{
2323 DBG_HTML(m_t << "<!-- startMemberDocList -->\n";)
2324}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocName()

void HtmlGenerator::startMemberDocName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2360 of file htmlgen.cpp.

2361{
2362 DBG_HTML(m_t << "<!-- startMemberDocName -->\n";)
2363
2364 m_t << " <table class=\"memname\">\n";
2365
2366 m_t << " <tr>\n";
2367 m_t << " <td class=\"memname\">";
2368}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocPrefixItem()

void HtmlGenerator::startMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2348 of file htmlgen.cpp.

2349{
2350 DBG_HTML(m_t << "<!-- startMemberDocPrefixItem -->\n";)
2351 m_t << "<div class=\"memtemplate\">\n";
2352}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocSimple()

void HtmlGenerator::startMemberDocSimple ( bool isEnum)
overridevirtual

Implements OutputGenIntf.

Definition at line 3469 of file htmlgen.cpp.

3470{
3471 DBG_HTML(m_t << "<!-- startMemberDocSimple -->\n";)
3472 m_t << "<table class=\"fieldtable\">\n";
3473 m_t << "<tr><th colspan=\"" << (isEnum?"2":"3") << "\">";
3474 m_t << (isEnum? theTranslator->trEnumerationValues() :
3475 theTranslator->trCompoundMembers()) << "</th></tr>\n";
3476}
virtual QCString trEnumerationValues()=0
virtual QCString trCompoundMembers()=0

References DBG_HTML, OutputGenerator::m_t, and theTranslator.

◆ startMemberGroup()

void HtmlGenerator::startMemberGroup ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2628 of file htmlgen.cpp.

2629{
2630}

◆ startMemberGroupDocs()

void HtmlGenerator::startMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2618 of file htmlgen.cpp.

2619{
2620 m_t << "<tr><td colspan=\"2\" class=\"ititle\"><div class=\"groupText\">";
2621}

References OutputGenerator::m_t.

◆ startMemberGroupHeader()

void HtmlGenerator::startMemberGroupHeader ( const QCString & id,
bool  )
overridevirtual

Implements OutputGenIntf.

Definition at line 2608 of file htmlgen.cpp.

2609{
2610 m_t << "<tr id=\"" << id << "\" class=\"groupHeader\"><td colspan=\"2\"><div class=\"groupHeader\">";
2611}

References OutputGenerator::m_t.

◆ startMemberHeader()

void HtmlGenerator::startMemberHeader ( const QCString & anchor,
int typ )
overridevirtual

Implements OutputGenIntf.

Definition at line 2243 of file htmlgen.cpp.

2244{
2245 DBG_HTML(m_t << "<!-- startMemberHeader -->\n")
2246 if (!m_emptySection)
2247 {
2248 m_t << "</table>";
2250 }
2251 if (m_emptySection)
2252 {
2253 m_t << "<table class=\"memberdecls\">\n";
2255 }
2256 m_t << "<tr class=\"heading\"><td colspan=\"" << typ << "\"><h2";
2257 if (!anchor.isEmpty())
2258 {
2259 m_t << " id=\"header-" << anchor << "\"";
2260 }
2261 m_t << " class=\"groupheader\">";
2262 if (!anchor.isEmpty())
2263 {
2264 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>\n";
2265 }
2266}

References DBG_HTML, FALSE, QCString::isEmpty(), m_emptySection, OutputGenerator::m_t, and TRUE.

◆ startMemberItem()

void HtmlGenerator::startMemberItem ( const QCString & anchor,
MemberItemType type,
const QCString & inheritId )
overridevirtual

Implements OutputGenIntf.

Definition at line 2127 of file htmlgen.cpp.

2128{
2129 DBG_HTML(m_t << "<!-- startMemberItem() -->\n")
2130 if (m_emptySection)
2131 {
2132 m_t << "<table class=\"memberdecls\">\n";
2134 }
2135 m_t << "<tr class=\"memitem:" << convertToId(anchor);
2136 if (!inheritId.isEmpty())
2137 {
2138 m_t << " inherit " << inheritId;
2139 }
2140 m_t << "\"";
2141 if (!anchor.isEmpty())
2142 {
2143 m_t << " id=\"r_" << convertToId(anchor) << "\"";
2144 }
2145 m_t << ">";
2147}
void insertMemberAlignLeft(MemberItemType, bool) override
Definition htmlgen.cpp:2189

References convertToId(), DBG_HTML, FALSE, insertMemberAlignLeft(), QCString::isEmpty(), m_emptySection, OutputGenerator::m_t, and type().

◆ startMemberList()

void HtmlGenerator::startMemberList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2113 of file htmlgen.cpp.

2114{
2115 DBG_HTML(m_t << "<!-- startMemberList -->\n")
2116}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberSections()

void HtmlGenerator::startMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2226 of file htmlgen.cpp.

2227{
2228 DBG_HTML(m_t << "<!-- startMemberSections -->\n")
2229 m_emptySection=TRUE; // we postpone writing <table> until we actually
2230 // write a row to prevent empty tables, which
2231 // are not valid XHTML!
2232}

References DBG_HTML, m_emptySection, OutputGenerator::m_t, and TRUE.

◆ startMemberSubtitle()

void HtmlGenerator::startMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2274 of file htmlgen.cpp.

2275{
2276 DBG_HTML(m_t << "<!-- startMemberSubtitle -->\n")
2277 if (m_emptySection)
2278 {
2279 m_t << "<table class=\"memberdecls\">\n";
2281 }
2282 m_t << "<tr><td class=\"ititle\" colspan=\"2\">";
2283}

References DBG_HTML, FALSE, m_emptySection, and OutputGenerator::m_t.

◆ startMemberTemplateParams()

void HtmlGenerator::startMemberTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2158 of file htmlgen.cpp.

2159{
2160}

◆ startPageDoc()

void HtmlGenerator::startPageDoc ( const QCString & pageTitle)
overridevirtual

Implements OutputGenIntf.

Definition at line 3154 of file htmlgen.cpp.

3155{
3156 m_t << "<div>";
3157}

References OutputGenerator::m_t.

◆ startPageRef()

void HtmlGenerator::startPageRef ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 248 of file htmlgen.h.

248{}

◆ startParagraph()

void HtmlGenerator::startParagraph ( const QCString & classDef)
overridevirtual

Implements OutputGenIntf.

Definition at line 1759 of file htmlgen.cpp.

1760{
1761 if (!classDef.isEmpty())
1762 m_t << "\n<p class=\"" << classDef << "\">";
1763 else
1764 m_t << "\n<p>";
1765}

References QCString::isEmpty(), and OutputGenerator::m_t.

◆ startParameterDefVal()

void HtmlGenerator::startParameterDefVal ( const char * sep)
overridevirtual

Implements OutputGenIntf.

Definition at line 2448 of file htmlgen.cpp.

2449{
2450 m_t << "<span class=\"paramdefsep\">";
2451 docify(s);
2452 m_t << "</span><span class=\"paramdefval\">";
2453}

References docify(), and OutputGenerator::m_t.

◆ startParameterExtra()

void HtmlGenerator::startParameterExtra ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2419 of file htmlgen.cpp.

2420{
2421 DBG_HTML(m_t << "<!-- startParameterExtra -->\n";)
2422}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterList()

void HtmlGenerator::startParameterList ( bool openBracket)
overridevirtual

Implements OutputGenIntf.

Definition at line 2376 of file htmlgen.cpp.

2377{
2378 DBG_HTML(m_t << "<!-- startParameterList -->\n";)
2379 m_t << " <td>";
2380 if (openBracket) m_t << "(";
2381 m_t << "</td>\n";
2382}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterName()

void HtmlGenerator::startParameterName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2407 of file htmlgen.cpp.

2408{
2409 DBG_HTML(m_t << "<!-- startParameterName -->\n";)
2410 m_t << " <td class=\"paramname\"><span class=\"paramname\"><em>";
2411}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterType()

void HtmlGenerator::startParameterType ( bool first,
const QCString & key )
overridevirtual

Implements OutputGenIntf.

Definition at line 2384 of file htmlgen.cpp.

2385{
2386 if (first)
2387 {
2388 DBG_HTML(m_t << "<!-- startFirstParameterType -->\n";)
2389 m_t << " <td class=\"paramtype\">";
2390 }
2391 else
2392 {
2393 DBG_HTML(m_t << "<!-- startParameterType -->\n";)
2394 m_t << " <tr>\n";
2395 m_t << " <td class=\"paramkey\">" << key << "</td>\n";
2396 m_t << " <td></td>\n";
2397 m_t << " <td class=\"paramtype\">";
2398 }
2399}

References DBG_HTML, and OutputGenerator::m_t.

◆ startPlainFile()

void HtmlGenerator::startPlainFile ( const QCString & name)
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 334 of file htmlgen.h.

void startPlainFile(const QCString &name)
Definition outputgen.cpp:32

References OutputGenerator::startPlainFile().

Referenced by startFile(), and writeStyleInfo().

◆ startProjectNumber()

void HtmlGenerator::startProjectNumber ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1663 of file htmlgen.cpp.

1664{
1665 m_t << "<h3 class=\"version\">";
1666}

References OutputGenerator::m_t.

◆ startQuickIndices()

void HtmlGenerator::startQuickIndices ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 250 of file htmlgen.h.

250{}

◆ startSection()

void HtmlGenerator::startSection ( const QCString & lab,
const QCString & ,
SectionType type )
overridevirtual

Implements OutputGenIntf.

Definition at line 1920 of file htmlgen.cpp.

1921{
1922 switch(type.level())
1923 {
1924 case SectionType::Page: m_t << "\n\n<h1 class=\"doxsection\">"; break;
1925 case SectionType::Section: m_t << "\n\n<h2 class=\"doxsection\">"; break;
1926 case SectionType::Subsection: m_t << "\n\n<h3 class=\"doxsection\">"; break;
1927 case SectionType::Subsubsection: m_t << "\n\n<h4 class=\"doxsection\">"; break;
1928 case SectionType::Paragraph: m_t << "\n\n<h5 class=\"doxsection\">"; break;
1929 case SectionType::Subparagraph: m_t << "\n\n<h6 class=\"doxsection\">"; break;
1930 case SectionType::Subsubparagraph: m_t << "\n\n<h6 class=\"doxsection\">"; break;
1931 default: ASSERT(0); break;
1932 }
1933 m_t << "<a id=\"" << lab << "\" name=\"" << lab << "\"></a>";
1934}

References ASSERT, OutputGenerator::m_t, SectionType::Page, SectionType::Paragraph, SectionType::Section, SectionType::Subparagraph, SectionType::Subsection, SectionType::Subsubparagraph, SectionType::Subsubsection, and type().

◆ startSmall()

void HtmlGenerator::startSmall ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 236 of file htmlgen.h.

236{ m_t << "<small>\n"; }

References OutputGenerator::m_t.

◆ startTextBlock()

void HtmlGenerator::startTextBlock ( bool )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 287 of file htmlgen.h.

287{ m_t << "<div class=\"textblock\">"; }

References OutputGenerator::m_t.

◆ startTextLink()

void HtmlGenerator::startTextLink ( const QCString & file,
const QCString & anchor )
overridevirtual

Implements OutputGenIntf.

Definition at line 1866 of file htmlgen.cpp.

1867{
1868 m_t << "<a href=\"";
1869 QCString fn = f;
1871 m_t << createHtmlUrl(m_relPath,"",true,
1872 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1873 fn,
1874 anchor);
1875 m_t << "\">";
1876}
QCString createHtmlUrl(const QCString &relPath, const QCString &ref, bool href, bool isLocalFile, const QCString &targetFileName, const QCString &anchor)
Definition util.cpp:5632

References addHtmlExtensionIfMissing(), Config_getString, createHtmlUrl(), OutputGenerator::fileName(), m_relPath, and OutputGenerator::m_t.

◆ startTitle()

void HtmlGenerator::startTitle ( )
inlineprivate

Definition at line 338 of file htmlgen.h.

338{ m_t << "<div class=\"title\">"; }

References OutputGenerator::m_t.

Referenced by startTitleHead().

◆ startTitleHead()

void HtmlGenerator::startTitleHead ( const QCString & )
overridevirtual

Implements OutputGenIntf.

Definition at line 3437 of file htmlgen.cpp.

3438{
3439 m_t << " <div class=\"headertitle\">";
3440 startTitle();
3441}
void startTitle()
Definition htmlgen.h:338

References OutputGenerator::m_t, and startTitle().

◆ startTocEntry()

void HtmlGenerator::startTocEntry ( const SectionInfo * si)
overridevirtual

Implements OutputGenIntf.

Definition at line 3678 of file htmlgen.cpp.

3679{
3680 SectionType type = si->type();
3681 if (type.isSection())
3682 {
3683 //printf(" level=%d title=%s maxLevel=%d\n",level,qPrint(si->title()),maxLevel);
3684 int nextLevel = type.level();
3685 if (nextLevel>m_tocState.level)
3686 {
3687 for (int l=m_tocState.level;l<nextLevel;l++)
3688 {
3689 if (l < m_tocState.maxLevel)
3690 {
3691 m_tocState.incIndent(m_t,"<ul>");
3692 char cs[2] = { static_cast<char>('0'+l+1), 0 };
3693 const char *empty = (l!=nextLevel-1) ? " empty" : "";
3694 m_tocState.incIndent(m_t,"<li class=\"level" + QCString(cs) + empty + "\">");
3695 }
3696 }
3697 }
3698 else if (nextLevel<m_tocState.level)
3699 {
3700 for (int l=m_tocState.level;l>nextLevel;l--)
3701 {
3702 if (l <= m_tocState.maxLevel) m_tocState.decIndent(m_t,"</li>");
3703 m_tocState.inLi[l] = false;
3704 if (l <= m_tocState.maxLevel) m_tocState.decIndent(m_t,"</ul>");
3705 }
3706 }
3707 if (nextLevel <= m_tocState.maxLevel)
3708 {
3709 if (m_tocState.inLi[nextLevel] || m_tocState.level>nextLevel)
3710 {
3711 m_tocState.decIndent(m_t,"</li>");
3712 char cs[2] = { static_cast<char>('0'+nextLevel), 0 };
3713 m_tocState.incIndent(m_t,"<li class=\"level" + QCString(cs) + "\">");
3714 }
3715 QCString label = si->label();
3716 m_tocState.writeIndent(m_t);
3717 m_t << "<a href=\"#"+label+"\">";
3718 }
3719 }
3720}
QCString label() const
Definition section.h:68

References SectionInfo::label(), OutputGenerator::m_t, m_tocState, type(), and SectionInfo::type().

◆ startTypewriter()

void HtmlGenerator::startTypewriter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 164 of file htmlgen.h.

164{ m_t << "<code>"; }

References OutputGenerator::m_t.

◆ type()

OutputType HtmlGenerator::type ( ) const
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 122 of file htmlgen.h.

122{ return OutputType::Html; }

References Html.

Referenced by endMemberItem(), endSection(), endTocEntry(), insertMemberAlignLeft(), startMemberItem(), startSection(), and startTocEntry().

◆ writeAnchor()

void HtmlGenerator::writeAnchor ( const QCString & ,
const QCString & name )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 212 of file htmlgen.h.

213 { m_t << "<a name=\"" << name <<"\" id=\"" << name << "\"></a>"; }

References OutputGenerator::m_t.

◆ writeChar()

void HtmlGenerator::writeChar ( char c)
overridevirtual

Implements OutputGenIntf.

Definition at line 1993 of file htmlgen.cpp.

1994{
1995 char cs[2];
1996 cs[0]=c;
1997 cs[1]=0;
1998 docify(cs);
1999}

References docify().

◆ writeDoc()

void HtmlGenerator::writeDoc ( const IDocNodeAST * node,
const Definition * ctx,
const MemberDef * ,
int id,
int sectionLevel )
overridevirtual

Implements OutputGenIntf.

Definition at line 2723 of file htmlgen.cpp.

2724{
2725 const DocNodeAST *astImpl = dynamic_cast<const DocNodeAST*>(ast);
2726 if (astImpl && sectionLevel<=m_tocState.maxLevel)
2727 {
2728 m_codeList->setId(id);
2729 HtmlDocVisitor visitor(m_t,*m_codeList,ctx,fileName());
2730 std::visit(visitor,astImpl->root);
2731 }
2732}
DocNodeVariant root
Definition docnode.h:1491

References OutputGenerator::fileName(), m_codeList, OutputGenerator::m_t, m_tocState, and DocNodeAST::root.

◆ writeExternalSearchPage()

void HtmlGenerator::writeExternalSearchPage ( )
static

Definition at line 3269 of file htmlgen.cpp.

3270{
3271 bool disableIndex = Config_getBool(DISABLE_INDEX);
3272 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3273 bool fullSidebar = Config_getBool(FULL_SIDEBAR);
3274 bool quickLinksAfterSplitbar = !disableIndex && generateTreeView && fullSidebar;
3275 QCString dname = Config_getString(HTML_OUTPUT);
3276 QCString fileName = dname+"/search"+Doxygen::htmlFileExtension;
3277 std::ofstream f = Portable::openOutputStream(fileName);
3278 if (f.is_open())
3279 {
3280 TextStream t(&f);
3282
3283 t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
3284 << getDoxygenVersion() << " -->\n";
3285 t << "<script type=\"text/javascript\">\n";
3286 t << "var searchBox = new SearchBox(\"searchBox\", \""
3287 << "search/\",'" << Doxygen::htmlFileExtension << "');\n";
3288 t << "</script>\n";
3289
3290 if (!disableIndex && !quickLinksAfterSplitbar)
3291 {
3292 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3293 }
3294 if (generateTreeView)
3295 {
3296 t << "</div><!-- top -->\n";
3297 }
3298 t << writeSplitBarAsString("search.php",QCString(),QCString());
3299 if (quickLinksAfterSplitbar)
3300 {
3301 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3302 }
3303
3304 t << "<div class=\"header\">\n";
3305 t << " <div class=\"headertitle\">\n";
3306 t << " <div class=\"title\">" << theTranslator->trSearchResultsTitle() << "</div>\n";
3307 t << " </div>\n";
3308 t << "</div>\n";
3309 t << "<div class=\"contents\">\n";
3310
3311 t << "<div id=\"searchresults\"></div>\n";
3312 t << "</div>\n";
3313
3314 if (generateTreeView)
3315 {
3316 t << "</div><!-- doc-content -->\n";
3317 t << "</div><!-- container -->\n";
3318 }
3319
3320 writePageFooter(t,"Search","","");
3321
3322 }
3323 f.close();
3324
3325 QCString scriptName = dname+"/search/search.js";
3326 f = Portable::openOutputStream(scriptName);
3327 if (f.is_open())
3328 {
3329 TextStream t(&f);
3330 t << "var searchResultsText=["
3331 << "\"" << theTranslator->trSearchResults(0) << "\","
3332 << "\"" << theTranslator->trSearchResults(1) << "\","
3333 << "\"" << theTranslator->trSearchResults(2) << "\"];\n";
3334 t << "var serverUrl=\"" << Config_getString(SEARCHENGINE_URL) << "\";\n";
3335 t << "var tagMap = {\n";
3336 bool first=TRUE;
3337 // add search mappings
3338 const StringVector &extraSearchMappings = Config_getList(EXTRA_SEARCH_MAPPINGS);
3339 for (const auto &ml : extraSearchMappings)
3340 {
3341 QCString mapLine(ml);
3342 int eqPos = mapLine.find('=');
3343 if (eqPos!=-1) // tag command contains a destination
3344 {
3345 QCString tagName = mapLine.left(eqPos).stripWhiteSpace();
3346 QCString destName = mapLine.right(mapLine.length()-eqPos-1).stripWhiteSpace();
3347 if (!tagName.isEmpty())
3348 {
3349 if (!first) t << ",\n";
3350 t << " \"" << tagName << "\": \"" << destName << "\"";
3351 first=FALSE;
3352 }
3353 }
3354 }
3355 if (!first) t << "\n";
3356 t << "};\n\n";
3357 t << ResourceMgr::instance().getAsString("extsearch.js");
3358 t << "\n";
3359 t << "$(function() {\n";
3360 t << " var query = trim(getURLParameter('query'));\n";
3361 t << " if (query) {\n";
3362 t << " searchFor(query,0,20);\n";
3363 t << " } else {\n";
3364 t << " var results = $('#results');\n";
3365 t << " results.html('<p>" << theTranslator->trSearchResults(0) << "</p>');\n";
3366 t << " }\n";
3367 t << "});\n";
3368 }
3369 else
3370 {
3371 err("Failed to open file '{}' for writing...\n",scriptName);
3372 }
3373}
static void writePageFooter(TextStream &t, const QCString &, const QCString &, const QCString &)
Definition htmlgen.cpp:1647
static QCString writeSplitBarAsString(const QCString &name, const QCString &relpath, const QCString &allMembersFile)
Definition htmlgen.cpp:3099
virtual QCString trSearchResultsTitle()=0
virtual QCString trSearchResults(int numDocuments)=0
#define Config_getList(name)
Definition config.h:38
std::vector< std::string > StringVector
Definition containers.h:33
static void writeDefaultQuickLinks(TextStream &t, HighlightedItem hli, const QCString &file, const QCString &relPath, bool extraTabs)
Definition htmlgen.cpp:2945
#define err(fmt,...)
Definition message.h:127

References Config_getBool, Config_getList, Config_getString, err, FALSE, OutputGenerator::fileName(), QCString::find(), g_header, g_header_file, ResourceMgr::getAsString(), Doxygen::htmlFileExtension, ResourceMgr::instance(), QCString::isEmpty(), QCString::left(), QCString::length(), Portable::openOutputStream(), QCString::right(), Search, QCString::stripWhiteSpace(), substituteHtmlKeywords(), theTranslator, TRUE, writeDefaultQuickLinks(), writePageFooter(), and writeSplitBarAsString().

Referenced by generateOutput().

◆ writeFooter()

void HtmlGenerator::writeFooter ( const QCString & navPath)
overridevirtual

Implements OutputGenIntf.

Definition at line 1653 of file htmlgen.cpp.

1654{
1656}

References m_lastTitle, m_relPath, OutputGenerator::m_t, and writePageFooter().

◆ writeFooterFile()

void HtmlGenerator::writeFooterFile ( TextStream & t)
static

Definition at line 1537 of file htmlgen.cpp.

1538{
1539 t << "<!-- HTML footer for doxygen " << getDoxygenVersion() << "-->\n";
1540 t << ResourceMgr::instance().getAsString("footer.html");
1541}

References ResourceMgr::getAsString(), and ResourceMgr::instance().

Referenced by readConfiguration().

◆ writeGraphicalHierarchy()

void HtmlGenerator::writeGraphicalHierarchy ( DotGfxHierarchyTable & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2603 of file htmlgen.cpp.

2604{
2605 g.writeGraph(m_t,dir(),fileName());
2606}
void writeGraph(TextStream &t, const QCString &path, const QCString &fileName)

References OutputGenerator::dir(), OutputGenerator::fileName(), OutputGenerator::m_t, and DotGfxHierarchyTable::writeGraph().

◆ writeHeaderFile()

void HtmlGenerator::writeHeaderFile ( TextStream & t,
const QCString & cssname )
static

Definition at line 1531 of file htmlgen.cpp.

1532{
1533 t << "<!-- HTML header for doxygen " << getDoxygenVersion() << "-->\n";
1534 t << ResourceMgr::instance().getAsString("header.html");
1535}

References ResourceMgr::getAsString(), and ResourceMgr::instance().

Referenced by readConfiguration().

◆ writeInheritedSectionTitle()

void HtmlGenerator::writeInheritedSectionTitle ( const QCString & id,
const QCString & ref,
const QCString & file,
const QCString & anchor,
const QCString & title,
const QCString & name )
overridevirtual

Implements OutputGenIntf.

Definition at line 3572 of file htmlgen.cpp.

3576{
3577 DBG_HTML(m_t << "<!-- writeInheritedSectionTitle -->\n";)
3578 QCString a = anchor;
3579 if (!a.isEmpty()) a.prepend("#");
3580 QCString classLink = QCString("<a class=\"el\" ");
3581 if (!ref.isEmpty())
3582 {
3583 classLink+= externalLinkTarget();
3584 classLink += " href=\"";
3585 classLink+= externalRef(m_relPath,ref,TRUE);
3586 }
3587 else
3588 {
3589 classLink += "href=\"";
3590 classLink+=m_relPath;
3591 }
3592 QCString fn = file;
3594 classLink=classLink+fn+a;
3595 classLink+=QCString("\">")+convertToHtml(name,FALSE)+"</a>";
3596 m_t << "<tr class=\"inherit_header " << id << "\">"
3597 << "<td colspan=\"2\" onclick=\"javascript:dynsection.toggleInherit('" << id << "')\">"
3598 << "<span class=\"dynarrow\"><span class=\"arrowhead closed\"></span></span>"
3599 << theTranslator->trInheritedFrom(convertToHtml(title,FALSE),classLink)
3600 << "</td></tr>\n";
3601}
virtual QCString trInheritedFrom(const QCString &members, const QCString &what)=0

References addHtmlExtensionIfMissing(), convertToHtml(), DBG_HTML, externalLinkTarget(), externalRef(), FALSE, QCString::isEmpty(), m_relPath, OutputGenerator::m_t, QCString::prepend(), theTranslator, and TRUE.

◆ writeLabel()

void HtmlGenerator::writeLabel ( const QCString & l,
bool isLast )
overridevirtual

Implements OutputGenIntf.

Definition at line 3526 of file htmlgen.cpp.

3527{
3528 DBG_HTML(m_t << "<!-- writeLabel(" << label << ") -->\n";)
3529
3530 auto convertLabelToClass = [](const std::string &lab) {
3531 QCString input = convertUTF8ToLower(lab);
3532 QCString result;
3533 size_t l=input.length();
3534 result.reserve(l);
3535
3536 // Create valid class selector, see 10.2 here https://www.w3.org/TR/selectors-3/#w3cselgrammar
3537 // ident [-]?{nmstart}{nmchar}*
3538 // nmstart [_a-z]|{nonascii}
3539 // nonascii [^\0-\177]
3540 // nmchar [_a-z0-9-]|{nonascii}
3541
3542 bool nmstart=false;
3543 for (size_t i=0; i<l; i++)
3544 {
3545 char c = input.at(i);
3546 if (c<0 || (c>='a' && c<='z') || c=='_') // nmstart pattern
3547 {
3548 nmstart=true;
3549 result+=c;
3550 }
3551 else if (nmstart && (c<0 || (c>='a' && c<='z') || (c>='0' && c<='9') || c=='_')) // nmchar pattern
3552 {
3553 result+=c;
3554 }
3555 else if (nmstart && (c==' ' || c=='-')) // show whitespace as -
3556 {
3557 result+='-';
3558 }
3559 }
3560 return result;
3561 };
3562
3563 m_t << "<span class=\"mlabel " << convertLabelToClass(label.stripWhiteSpace().str()) << "\">" << label << "</span>";
3564}
size_t length() const
Returns the length of the string, not counting the 0-terminator.
Definition qcstring.h:166
char & at(size_t i)
Returns a reference to the character at index i.
Definition qcstring.h:593
void reserve(size_t size)
Reserve space for size bytes without changing the string contents.
Definition qcstring.h:185
std::string convertUTF8ToLower(const std::string &input)
Converts the input string into a lower case version, also taking into account non-ASCII characters th...
Definition utf8.cpp:187

References QCString::at(), convertUTF8ToLower(), DBG_HTML, QCString::length(), OutputGenerator::m_t, QCString::reserve(), QCString::str(), and QCString::stripWhiteSpace().

◆ writeLatexSpacing()

void HtmlGenerator::writeLatexSpacing ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 231 of file htmlgen.h.

231{}

◆ writeLogo()

void HtmlGenerator::writeLogo ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1642 of file htmlgen.cpp.

1643{
1645}
static QCString writeLogoAsString(const QCString &path)
Definition htmlgen.cpp:1620

References m_relPath, OutputGenerator::m_t, and writeLogoAsString().

◆ writeLogoAsString()

QCString HtmlGenerator::writeLogoAsString ( const QCString & path)
static

Definition at line 1620 of file htmlgen.cpp.

1621{
1622 QCString result;
1623 switch (Config_getEnum(TIMESTAMP))
1624 {
1625 case TIMESTAMP_t::NO:
1626 result = theTranslator->trGeneratedBy();
1627 break;
1628 default:
1629 result = theTranslator->trGeneratedAt("<span class=\"timestamp\"></span>",
1630 convertToHtml(Config_getString(PROJECT_NAME)));
1631 break;
1632 }
1633 result += "&#160;\n<a href=\"https://www.doxygen.org/index.html\">\n"
1634 "<img class=\"footer\" src=\"";
1635 result += path;
1636 result += "doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> ";
1637 result += getDoxygenVersion();
1638 result += " ";
1639 return result;
1640}
virtual QCString trGeneratedAt(const QCString &date, const QCString &projName)=0

References Config_getEnum, Config_getString, convertToHtml(), and theTranslator.

Referenced by writeLogo(), and writeSearchPage().

◆ writeNavigationPath()

void HtmlGenerator::writeNavigationPath ( const QCString & s)
overridevirtual

Implements OutputGenIntf.

Definition at line 3139 of file htmlgen.cpp.

3140{
3141 m_t << substitute(s,"$relpath^",m_relPath);
3142}

References m_relPath, OutputGenerator::m_t, and substitute().

◆ writeNonBreakableSpace()

void HtmlGenerator::writeNonBreakableSpace ( int n)
overridevirtual

Implements OutputGenIntf.

Definition at line 2653 of file htmlgen.cpp.

2654{
2655 for (int i=0; i<n; i++)
2656 {
2657 m_t << "&#160;";
2658 }
2659}

References OutputGenerator::m_t.

◆ writeObjectLink()

void HtmlGenerator::writeObjectLink ( const QCString & ref,
const QCString & file,
const QCString & anchor,
const QCString & name )
overridevirtual

Implements OutputGenIntf.

Definition at line 1842 of file htmlgen.cpp.

1844{
1845 if (!ref.isEmpty())
1846 {
1847 m_t << "<a class=\"elRef\" ";
1849 }
1850 else
1851 {
1852 m_t << "<a class=\"el\" ";
1853 }
1854 m_t << "href=\"";
1855 QCString fn = f;
1857 m_t << createHtmlUrl(m_relPath,ref,true,
1858 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1859 fn,
1860 anchor);
1861 m_t << "\">";
1862 docify(name);
1863 m_t << "</a>";
1864}

References addHtmlExtensionIfMissing(), Config_getString, createHtmlUrl(), docify(), externalLinkTarget(), OutputGenerator::fileName(), QCString::isEmpty(), m_relPath, and OutputGenerator::m_t.

◆ writePageFooter()

void HtmlGenerator::writePageFooter ( TextStream & t,
const QCString & lastTitle,
const QCString & relPath,
const QCString & navPath )
staticprivate

Definition at line 1647 of file htmlgen.cpp.

1649{
1650 t << substituteHtmlKeywords(g_footer_file,g_footer,convertToHtml(lastTitle),relPath,navPath);
1651}

References convertToHtml(), g_footer, g_footer_file, and substituteHtmlKeywords().

Referenced by writeExternalSearchPage(), writeFooter(), and writeSearchPage().

◆ writePageLink()

void HtmlGenerator::writePageLink ( const QCString & ,
bool  )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 135 of file htmlgen.h.

135{}

◆ writePageOutline()

void HtmlGenerator::writePageOutline ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3630 of file htmlgen.cpp.

3631{
3632 m_t << "<div id=\"page-nav\" class=\"page-nav-panel\">\n";
3633 m_t << "<div id=\"page-nav-resize-handle\"></div>\n";
3634 m_t << "<div id=\"page-nav-tree\">\n";
3635 m_t << "<div id=\"page-nav-contents\">\n";
3636 m_t << "</div><!-- page-nav-contents -->\n";
3637 m_t << "</div><!-- page-nav-tree -->\n";
3638 m_t << "</div><!-- page-nav -->\n";
3639}

References OutputGenerator::m_t.

◆ writeQuickLinks()

void HtmlGenerator::writeQuickLinks ( HighlightedItem hli,
const QCString & file,
bool extraTabs )
overridevirtual

Implements OutputGenIntf.

Definition at line 3164 of file htmlgen.cpp.

3165{
3166 writeDefaultQuickLinks(m_t,hli,file,m_relPath,extraTabs);
3167}

References m_relPath, OutputGenerator::m_t, and writeDefaultQuickLinks().

◆ writeRuler()

void HtmlGenerator::writeRuler ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 211 of file htmlgen.h.

211{ m_t << "<hr/>"; }

References OutputGenerator::m_t.

◆ writeSearchData()

void HtmlGenerator::writeSearchData ( const QCString & dir)
static

Definition at line 1363 of file htmlgen.cpp.

1364{
1365 //bool serverBasedSearch = Config_getBool(SERVER_BASED_SEARCH);
1366 //writeImgData(dname,serverBasedSearch ? search_server_data : search_client_data);
1367 ResourceMgr &mgr = ResourceMgr::instance();
1368
1369 QCString searchDirName = dname;
1370 std::ofstream f = Portable::openOutputStream(searchDirName+"/search.css");
1371 if (f.is_open())
1372 {
1373 TextStream t(&f);
1374 QCString searchCss;
1375 // the position of the search box depends on a number of settings.
1376 // Insert the right piece of CSS code depending on which options are selected
1377 if (Config_getBool(GENERATE_TREEVIEW) && Config_getBool(FULL_SIDEBAR))
1378 {
1379 searchCss = mgr.getAsString("search_sidebar.css"); // we have a full height side bar
1380 }
1381 else if (Config_getBool(DISABLE_INDEX))
1382 {
1383 if (Config_getBool(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE)
1384 {
1385 searchCss = mgr.getAsString("search_nomenu_toggle.css"); // we have no tabs but do have a darkmode button
1386 }
1387 else
1388 {
1389 searchCss = mgr.getAsString("search_nomenu.css"); // we have no tabs and no darkmode button
1390 }
1391 }
1392 else if (!Config_getBool(HTML_DYNAMIC_MENUS))
1393 {
1394 searchCss = mgr.getAsString("search_fixedtabs.css"); // we have tabs, but they are static
1395 }
1396 else
1397 {
1398 searchCss = mgr.getAsString("search.css"); // default case with a dynamic menu bar
1399 }
1400 // and then add the option independent part of the styling
1401 searchCss += mgr.getAsString("search_common.css");
1402 searchCss = substitute(searchCss,"$doxygenversion",getDoxygenVersion());
1403 t << replaceVariables(searchCss);
1404 Doxygen::indexList->addStyleSheetFile("search/search.css");
1405 }
1406}
void addStyleSheetFile(const QCString &name)
Definition indexlist.h:130

References Config_getBool, ResourceMgr::getAsString(), Doxygen::indexList, ResourceMgr::instance(), Portable::openOutputStream(), replaceVariables(), and substitute().

Referenced by generateOutput().

◆ writeSearchInfo()

void HtmlGenerator::writeSearchInfo ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1614 of file htmlgen.cpp.

1615{
1617}
static void writeSearchInfoStatic(TextStream &t, const QCString &relPath)
Definition htmlgen.cpp:1584

References m_relPath, OutputGenerator::m_t, and writeSearchInfoStatic().

◆ writeSearchInfoStatic()

void HtmlGenerator::writeSearchInfoStatic ( TextStream & t,
const QCString & relPath )
static

Definition at line 1584 of file htmlgen.cpp.

1585{
1586 bool searchEngine = Config_getBool(SEARCHENGINE);
1587 bool serverBasedSearch = Config_getBool(SERVER_BASED_SEARCH);
1588 if (searchEngine && !serverBasedSearch)
1589 {
1590 t << "<!-- window showing the filter options -->\n";
1591 t << "<div id=\"MSearchSelectWindow\"\n";
1592 t << " onmouseover=\"return searchBox.OnSearchSelectShow()\"\n";
1593 t << " onmouseout=\"return searchBox.OnSearchSelectHide()\"\n";
1594 t << " onkeydown=\"return searchBox.OnSearchSelectKey(event)\">\n";
1595 t << "</div>\n";
1596 t << "\n";
1597 t << "<!-- iframe showing the search results (closed by default) -->\n";
1598 t << "<div id=\"MSearchResultsWindow\">\n";
1599 t << "<div id=\"MSearchResults\">\n";
1600 t << "<div class=\"SRPage\">\n";
1601 t << "<div id=\"SRIndex\">\n";
1602 t << "<div id=\"SRResults\"></div>\n"; // here the results will be inserted
1603 t << "<div class=\"SRStatus\" id=\"Loading\">" << theTranslator->trLoading() << "</div>\n";
1604 t << "<div class=\"SRStatus\" id=\"Searching\">" << theTranslator->trSearching() << "</div>\n";
1605 t << "<div class=\"SRStatus\" id=\"NoMatches\">" << theTranslator->trNoMatches() << "</div>\n";
1606 t << "</div>\n"; // SRIndex
1607 t << "</div>\n"; // SRPage
1608 t << "</div>\n"; // MSearchResults
1609 t << "</div>\n"; // MSearchResultsWindow
1610 t << "\n";
1611 }
1612}
virtual QCString trLoading()=0
virtual QCString trSearching()=0
virtual QCString trNoMatches()=0

References Config_getBool, and theTranslator.

Referenced by writeSearchInfo().

◆ writeSearchPage()

void HtmlGenerator::writeSearchPage ( )
static

Definition at line 3170 of file htmlgen.cpp.

3171{
3172 bool disableIndex = Config_getBool(DISABLE_INDEX);
3173 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3174 bool fullSidebar = Config_getBool(FULL_SIDEBAR);
3175 bool quickLinksAfterSplitbar = !disableIndex && generateTreeView && fullSidebar;
3176 QCString projectName = Config_getString(PROJECT_NAME);
3177 QCString htmlOutput = Config_getString(HTML_OUTPUT);
3178
3179 // OPENSEARCH_PROVIDER {
3180 QCString configFileName = htmlOutput+"/search_config.php";
3181 std::ofstream f = Portable::openOutputStream(configFileName);
3182 if (f.is_open())
3183 {
3184 TextStream t(&f);
3185 t << "<?php\n\n";
3186 t << "$config = array(\n";
3187 t << " 'PROJECT_NAME' => \"" << convertToHtml(projectName) << "\",\n";
3188 t << " 'GENERATE_TREEVIEW' => " << (generateTreeView?"true":"false") << ",\n";
3189 t << " 'DISABLE_INDEX' => " << (disableIndex?"true":"false") << ",\n";
3190 t << " 'FULL_SIDEBAR' => " << (fullSidebar?"true":"false") << ",\n";
3191 t << ");\n\n";
3192 t << "$translator = array(\n";
3193 t << " 'search_results_title' => \"" << theTranslator->trSearchResultsTitle() << "\",\n";
3194 t << " 'search_results' => array(\n";
3195 t << " 0 => \"" << theTranslator->trSearchResults(0) << "\",\n";
3196 t << " 1 => \"" << theTranslator->trSearchResults(1) << "\",\n";
3197 t << " 2 => \"" << substitute(theTranslator->trSearchResults(2), "$", "\\$") << "\",\n";
3198 t << " ),\n";
3199 t << " 'search_matches' => \"" << theTranslator->trSearchMatches() << "\",\n";
3200 t << " 'search' => \"" << theTranslator->trSearch() << "\",\n";
3201 t << " 'logo' => \"" << substitute(substitute(writeLogoAsString(""), "\"","\\\""), "\n","\\n") << "\",\n";
3202 t << ");\n\n";
3203 t << "?>\n";
3204 }
3205 f.close();
3206
3207 ResourceMgr::instance().copyResource("search_functions.php",htmlOutput);
3208 ResourceMgr::instance().copyResource("search_opensearch.php",htmlOutput);
3209 // OPENSEARCH_PROVIDER }
3210
3211 QCString fileName = htmlOutput+"/search.php";
3213 if (f.is_open())
3214 {
3215 TextStream t(&f);
3217
3218 t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
3219 << getDoxygenVersion() << " -->\n";
3220 t << "<script type=\"text/javascript\">\n";
3221 t << "var searchBox = new SearchBox(\"searchBox\", \""
3222 << "search/\",'" << Doxygen::htmlFileExtension << "');\n";
3223 t << "</script>\n";
3224
3225 if (!disableIndex && !quickLinksAfterSplitbar)
3226 {
3227 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3228 }
3229 if (generateTreeView)
3230 {
3231 t << "</div><!-- top -->\n";
3232 }
3233 t << writeSplitBarAsString("search.php",QCString(),QCString());
3234 if (quickLinksAfterSplitbar)
3235 {
3236 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3237 }
3238 t << "<!-- generated -->\n";
3239
3240 t << "<?php\n";
3241 t << "require_once \"search_functions.php\";\n";
3242 t << "main();\n";
3243 t << "?>\n";
3244
3245 // Write empty navigation path, to make footer connect properly
3246 if (generateTreeView)
3247 {
3248 t << "</div><!-- doc-content -->\n";
3249 t << "</div><!-- container -->\n";
3250 }
3251
3252 writePageFooter(t,"Search","","");
3253 }
3254 f.close();
3255
3256 QCString scriptName = htmlOutput+"/search/search.js";
3257 f = Portable::openOutputStream(scriptName);
3258 if (f.is_open())
3259 {
3260 TextStream t(&f);
3261 t << ResourceMgr::instance().getAsString("extsearch.js");
3262 }
3263 else
3264 {
3265 err("Failed to open file '{}' for writing...\n",scriptName);
3266 }
3267}
virtual QCString trSearchMatches()=0
virtual QCString trSearch()=0

References Config_getBool, Config_getString, convertToHtml(), ResourceMgr::copyResource(), err, OutputGenerator::fileName(), g_header, g_header_file, ResourceMgr::getAsString(), Doxygen::htmlFileExtension, ResourceMgr::instance(), Portable::openOutputStream(), Search, substitute(), substituteHtmlKeywords(), theTranslator, writeDefaultQuickLinks(), writeLogoAsString(), writePageFooter(), and writeSplitBarAsString().

Referenced by generateOutput().

◆ writeSplitBar()

void HtmlGenerator::writeSplitBar ( const QCString & name,
const QCString & allMembersFile )
overridevirtual

Implements OutputGenIntf.

Definition at line 3134 of file htmlgen.cpp.

3135{
3136 m_t << writeSplitBarAsString(name,m_relPath,allMembersFile);
3137}

References m_relPath, OutputGenerator::m_t, and writeSplitBarAsString().

◆ writeSplitBarAsString()

QCString HtmlGenerator::writeSplitBarAsString ( const QCString & name,
const QCString & relpath,
const QCString & allMembersFile )
static

Definition at line 3099 of file htmlgen.cpp.

3100{
3101 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3102 QCString result;
3103 // write split bar
3104 if (generateTreeView)
3105 {
3106 QCString fn = name;
3108 if (!Config_getBool(FULL_SIDEBAR))
3109 {
3110 result += QCString(
3111 "<div id=\"side-nav\" class=\"ui-resizable side-nav-resizable\">\n");
3112 }
3113 result+=
3114 " <div id=\"nav-tree\">\n"
3115 " <div id=\"nav-tree-contents\">\n"
3116 " <div id=\"nav-sync\" class=\"sync\"></div>\n"
3117 " </div>\n"
3118 " </div>\n"
3119 " <div id=\"splitbar\" style=\"-moz-user-select:none;\" \n"
3120 " class=\"ui-resizable-handle\">\n"
3121 " </div>\n"
3122 "</div>\n"
3123 "<script type=\"text/javascript\">\n"
3124 "$(function(){initNavTree('" + fn + "','" + relpath + "','" + allMembersFile + "'); });\n"
3125 "</script>\n";
3126 if (Config_getBool(DISABLE_INDEX) || !Config_getBool(FULL_SIDEBAR))
3127 {
3128 result+="<div id=\"container\">\n<div id=\"doc-content\">\n";
3129 }
3130 }
3131 return result;
3132}

References addHtmlExtensionIfMissing(), and Config_getBool.

Referenced by writeExternalSearchPage(), writeSearchPage(), and writeSplitBar().

◆ writeStartAnnoItem()

void HtmlGenerator::writeStartAnnoItem ( const QCString & type,
const QCString & file,
const QCString & path,
const QCString & name )
overridevirtual

Implements OutputGenIntf.

Definition at line 1830 of file htmlgen.cpp.

1832{
1833 m_t << "<li>";
1834 if (!path.isEmpty()) docify(path);
1835 QCString fn = f;
1837 m_t << "<a class=\"el\" href=\"" << fn << "\">";
1838 docify(name);
1839 m_t << "</a> ";
1840}

References addHtmlExtensionIfMissing(), docify(), QCString::isEmpty(), and OutputGenerator::m_t.

◆ writeString()

void HtmlGenerator::writeString ( const QCString & text)
overridevirtual

Implements OutputGenIntf.

Definition at line 1772 of file htmlgen.cpp.

1773{
1774 m_t << text;
1775}

References OutputGenerator::m_t.

◆ writeStyleInfo()

void HtmlGenerator::writeStyleInfo ( int part)
overridevirtual

Implements OutputGenIntf.

Definition at line 1673 of file htmlgen.cpp.

1674{
1675 //printf("writeStyleInfo(%d)\n",part);
1676 if (part==0)
1677 {
1678 if (Config_getString(HTML_STYLESHEET).isEmpty()) // write default style sheet
1679 {
1680 //printf("write doxygen.css\n");
1681 startPlainFile("doxygen.css");
1683 endPlainFile();
1684 Doxygen::indexList->addStyleSheetFile("doxygen.css");
1685 }
1686 else // write user defined style sheet
1687 {
1688 QCString cssName=Config_getString(HTML_STYLESHEET);
1689 if (!cssName.startsWith("http:") && !cssName.startsWith("https:"))
1690 {
1691 FileInfo cssfi(cssName.str());
1692 if (!cssfi.exists() || !cssfi.isFile() || !cssfi.isReadable())
1693 {
1694 err("style sheet {} does not exist or is not readable!\n", Config_getString(HTML_STYLESHEET));
1695 }
1696 else
1697 {
1698 // convert style sheet to string
1699 QCString fileStr = fileToString(cssName);
1700 // write the string into the output dir
1701 startPlainFile(cssfi.fileName());
1702 m_t << fileStr;
1703 endPlainFile();
1704 }
1705 Doxygen::indexList->addStyleSheetFile(cssfi.fileName());
1706 }
1707 }
1708 const StringVector &extraCssFiles = Config_getList(HTML_EXTRA_STYLESHEET);
1709 for (const auto &fileName : extraCssFiles)
1710 {
1711 if (!fileName.empty())
1712 {
1713 FileInfo fi(fileName);
1714 if (fi.exists())
1715 {
1716 Doxygen::indexList->addStyleSheetFile(fi.fileName());
1717 }
1718 }
1719 }
1720
1722 Doxygen::indexList->addStyleSheetFile("navtree.css");
1723
1724 Doxygen::indexList->addStyleSheetFile("dynsections.js");
1725
1726 if (Config_getEnum(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE)
1727 {
1728 Doxygen::indexList->addStyleSheetFile("darkmode_toggle.js");
1729 }
1730
1731 if (Config_getBool(INTERACTIVE_SVG))
1732 {
1734 }
1735
1736 if (!Config_getBool(DISABLE_INDEX) && Config_getBool(HTML_DYNAMIC_MENUS))
1737 {
1739 Doxygen::indexList->addStyleSheetFile("menudata.js");
1740 }
1741 }
1742}
bool startsWith(const char *s) const
Definition qcstring.h:507
static void writeDefaultStyleSheet(TextStream &t)
Definition htmlgen.cpp:1408

References Config_getBool, Config_getEnum, Config_getList, Config_getString, endPlainFile(), err, FileInfo::exists(), FileInfo::fileName(), OutputGenerator::fileName(), fileToString(), Doxygen::indexList, FileInfo::isFile(), FileInfo::isReadable(), OutputGenerator::m_t, startPlainFile(), QCString::startsWith(), QCString::str(), and writeDefaultStyleSheet().

◆ writeStyleSheetFile()

void HtmlGenerator::writeStyleSheetFile ( TextStream & t)
static

Definition at line 1525 of file htmlgen.cpp.

1526{
1529}

References fillColorStyleMaps(), and writeDefaultStyleSheet().

Referenced by readConfiguration().

◆ writeSummaryLink()

void HtmlGenerator::writeSummaryLink ( const QCString & file,
const QCString & anchor,
const QCString & title,
bool first )
overridevirtual

Implements OutputGenIntf.

Definition at line 3603 of file htmlgen.cpp.

3604{
3605 if (first)
3606 {
3607 m_t << " <div class=\"summary\">\n";
3608 }
3609 else
3610 {
3611 m_t << " &#124;\n";
3612 }
3613 m_t << "<a href=\"";
3614 if (!file.isEmpty())
3615 {
3616 QCString fn = file;
3618 m_t << m_relPath << fn;
3619 }
3620 else if (!anchor.isEmpty())
3621 {
3622 m_t << "#";
3623 m_t << anchor;
3624 }
3625 m_t << "\">";
3626 m_t << title;
3627 m_t << "</a>";
3628}

References addHtmlExtensionIfMissing(), QCString::isEmpty(), m_relPath, and OutputGenerator::m_t.

◆ writeSynopsis()

void HtmlGenerator::writeSynopsis ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 245 of file htmlgen.h.

245{}

◆ writeTabData()

void HtmlGenerator::writeTabData ( )
static

Additional initialization after indices have been created.

Definition at line 1354 of file htmlgen.cpp.

1355{
1357 QCString dname=Config_getString(HTML_OUTPUT);
1358 ResourceMgr &mgr = ResourceMgr::instance();
1359 mgr.copyResource("doxygen.svg",dname);
1360 Doxygen::indexList->addImageFile("doxygen.svg");
1361}
void addImageFile(const QCString &name)
Definition indexlist.h:127

References Config_getString, ResourceMgr::copyResource(), Doxygen::indexList, and ResourceMgr::instance().

Referenced by generateOutput().

Member Data Documentation

◆ m_codeGen

HtmlCodeGenerator* HtmlGenerator::m_codeGen = nullptr
private

Definition at line 349 of file htmlgen.h.

Referenced by addCodeGen(), HtmlGenerator(), HtmlGenerator(), operator=(), and startFile().

◆ m_codeList

std::unique_ptr<OutputCodeList> HtmlGenerator::m_codeList
private

Definition at line 348 of file htmlgen.h.

Referenced by HtmlGenerator(), HtmlGenerator(), operator=(), and writeDoc().

◆ m_emptySection

◆ m_lastFile

QCString HtmlGenerator::m_lastFile
private

Definition at line 344 of file htmlgen.h.

Referenced by HtmlGenerator(), operator=(), and startFile().

◆ m_lastTitle

QCString HtmlGenerator::m_lastTitle
private

Definition at line 343 of file htmlgen.h.

Referenced by HtmlGenerator(), operator=(), startFile(), and writeFooter().

◆ m_pageOutlineIndent

int HtmlGenerator::m_pageOutlineIndent = 0
private

Definition at line 350 of file htmlgen.h.

◆ m_relPath

◆ m_sectionCount

◆ m_tocState

TocState HtmlGenerator::m_tocState
private

Definition at line 362 of file htmlgen.h.

Referenced by endLocalToc(), endTocEntry(), startLocalToc(), startTocEntry(), and writeDoc().


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