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 (bool) 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
void startEmbeddedDoc (int) override
void endEmbeddedDoc () 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 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 1192 of file htmlgen.cpp.

1193 : OutputGenerator(Config_getString(HTML_OUTPUT))
1194 , m_codeList(std::make_unique<OutputCodeList>())
1195{
1196 //printf("%p:HtmlGenerator()\n",(void*)this);
1197 m_codeGen = m_codeList->add<HtmlCodeGenerator>(&m_t);
1198}
HtmlCodeGenerator * m_codeGen
Definition htmlgen.h:351
std::unique_ptr< OutputCodeList > m_codeList
Definition htmlgen.h:350
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 1200 of file htmlgen.cpp.

1200 : OutputGenerator(og.m_dir), OutputGenIntf()
1201{
1202 //printf("%p:HtmlGenerator(copy %p)\n",(void*)this,(void*)&og);
1203 m_codeList = std::make_unique<OutputCodeList>(*og.m_codeList);
1204 m_codeGen = m_codeList->get<HtmlCodeGenerator>(OutputType::Html);
1205 m_codeGen->setTextStream(&m_t);
1208 m_relPath = og.m_relPath;
1211}
int m_sectionCount
Definition htmlgen.h:348
QCString m_lastFile
Definition htmlgen.h:346
QCString m_relPath
Definition htmlgen.h:347
bool m_emptySection
Definition htmlgen.h:349
QCString m_lastTitle
Definition htmlgen.h:345
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 1233 of file htmlgen.cpp.

1234{
1236}
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 2707 of file htmlgen.cpp.

2708{
2709}

◆ addLabel()

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

Implements OutputGenIntf.

Definition at line 1811 of file htmlgen.cpp.

1812{
1813}

◆ cleanup()

void HtmlGenerator::cleanup ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1399 of file htmlgen.cpp.

1400{
1401 QCString dname = Config_getString(HTML_OUTPUT);
1402 Dir d(dname.str());
1403 clearSubDirs(d);
1404}
const std::string & str() const
Definition qcstring.h:552
void clearSubDirs(const Dir &d)
Definition util.cpp:3688

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

◆ clearBuffer()

void HtmlGenerator::clearBuffer ( )

◆ clone()

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

Implements OutputGenIntf.

Definition at line 122 of file htmlgen.h.

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

◆ docify()

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

Implements OutputGenIntf.

Definition at line 2007 of file htmlgen.cpp.

2008{
2009 docify_(str,FALSE);
2010}
void docify_(const QCString &text, bool inHtmlComment)
Definition htmlgen.cpp:2012
#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 2012 of file htmlgen.cpp.

2013{
2014 if (!str.isEmpty())
2015 {
2016 const char *p=str.data();
2017 while (*p)
2018 {
2019 char c=*p++;
2020 switch(c)
2021 {
2022 case '<': m_t << "&lt;"; break;
2023 case '>': m_t << "&gt;"; break;
2024 case '&': m_t << "&amp;"; break;
2025 case '"': m_t << "&quot;"; break;
2026 case '-': if (inHtmlComment) m_t << "&#45;"; else m_t << "-"; break;
2027 case '\\':
2028 if (*p=='<')
2029 { m_t << "&lt;"; p++; }
2030 else if (*p=='>')
2031 { m_t << "&gt;"; p++; }
2032 else if (*p=='[')
2033 { m_t << "\\&zwj;["; p++; }
2034 else if (*p==']')
2035 { m_t << "\\&zwj;]"; p++; }
2036 else if (*p=='(')
2037 { m_t << "\\&zwj;("; p++; }
2038 else if (*p==')')
2039 { m_t << "\\&zwj;)"; p++; }
2040 else
2041 m_t << "\\";
2042 break;
2043 default: m_t << c;
2044 }
2045 }
2046 }
2047}

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

Referenced by docify().

◆ endAnonTypeScope()

void HtmlGenerator::endAnonTypeScope ( int )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 185 of file htmlgen.h.

185{}

◆ endBold()

void HtmlGenerator::endBold ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 216 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endCallGraph()

void HtmlGenerator::endCallGraph ( DotCallGraph & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2630 of file htmlgen.cpp.

2631{
2636
2638
2641}
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:2103
static void startSectionSummary(TextStream &t, int sectionCount)
Definition htmlgen.cpp:2082
static void endSectionContent(TextStream &t)
Definition htmlgen.cpp:2118
static void endSectionHeader(TextStream &t)
Definition htmlgen.cpp:2076
static void endSectionSummary(TextStream &t)
Definition htmlgen.cpp:2093
#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 234 of file htmlgen.h.

234{ 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 2131 of file htmlgen.cpp.

2133{
2138 TextStream tt;
2139 d.writeImage(tt,dir(),m_relPath,fileName,true,true);
2140 if (!tt.empty())
2141 {
2142 m_t << " <div class=\"center\">\n";
2143 m_t << " <img src=\"";
2144 m_t << m_relPath << fileName << ".png\" usemap=\"#" << convertToId(name);
2145 m_t << "_map\" alt=\"\"/>\n";
2146 m_t << " <map id=\"" << convertToId(name);
2147 m_t << "_map\" name=\"" << convertToId(name);
2148 m_t << "_map\">\n";
2149 m_t << tt.str();
2150 m_t << " </map>\n";
2151 m_t << "</div>";
2152 }
2153 else
2154 {
2155 m_t << " <div class=\"center\">\n";
2156 m_t << " <img src=\"";
2157 m_t << m_relPath << fileName << ".png\" alt=\"\"/>\n";
2158 m_t << " </div>";
2159 }
2162}
void writeImage(TextStream &t, const QCString &path, const QCString &relPath, const QCString &file, bool generateMap, bool toIndex) const
Definition diagram.cpp:1361
bool empty() const
Returns true iff the buffer is empty.
Definition textstream.h:240
std::string str() const
Return the contents of the buffer as a std::string object.
Definition textstream.h:216
QCString convertToId(const QCString &s)
Definition util.cpp:3893

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 2234 of file htmlgen.cpp.

2235{
2236 m_t << "</div>";
2237}

References OutputGenerator::m_t.

◆ endConstraintDocs()

void HtmlGenerator::endConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3469 of file htmlgen.cpp.

3470{
3471 m_t << "</td></tr>\n";
3472}

References OutputGenerator::m_t.

◆ endConstraintList()

void HtmlGenerator::endConstraintList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3474 of file htmlgen.cpp.

3475{
3476 m_t << "</table>\n";
3477 m_t << "</dd>\n";
3478 m_t << "</dl>\n";
3479 m_t << "</div>\n";
3480}

References OutputGenerator::m_t.

◆ endConstraintParam()

void HtmlGenerator::endConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3449 of file htmlgen.cpp.

3450{
3451 m_t << "</em></td>";
3452}

References OutputGenerator::m_t.

◆ endConstraintType()

void HtmlGenerator::endConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3459 of file htmlgen.cpp.

3460{
3461 m_t << "</em></td>";
3462}

References OutputGenerator::m_t.

◆ endContents()

void HtmlGenerator::endContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3211 of file htmlgen.cpp.

3212{
3213 m_t << "</div><!-- contents -->\n";
3214}

References OutputGenerator::m_t.

◆ endDescForItem()

void HtmlGenerator::endDescForItem ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 218 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endDescTable()

void HtmlGenerator::endDescTable ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2724 of file htmlgen.cpp.

2725{
2726 m_t << "</table>\n";
2727}

References OutputGenerator::m_t.

◆ endDescTableData()

void HtmlGenerator::endDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2764 of file htmlgen.cpp.

2765{
2766 m_t << "</td>";
2767}

References OutputGenerator::m_t.

◆ endDescTableInit()

void HtmlGenerator::endDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2754 of file htmlgen.cpp.

2755{
2756 m_t << "&#160;</td>";
2757}

References OutputGenerator::m_t.

◆ endDescTableRow()

void HtmlGenerator::endDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2734 of file htmlgen.cpp.

2735{
2736 m_t << "</tr>\n";
2737}

References OutputGenerator::m_t.

◆ endDescTableTitle()

void HtmlGenerator::endDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2744 of file htmlgen.cpp.

2745{
2746 m_t << "&#160;</td>";
2747}

References OutputGenerator::m_t.

◆ endDirDepGraph()

void HtmlGenerator::endDirDepGraph ( DotDirDeps & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2648 of file htmlgen.cpp.

2649{
2654
2656
2659}
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 2560 of file htmlgen.cpp.

2561{
2562 bool generateLegend = Config_getBool(GENERATE_LEGEND);
2563 bool umlLook = Config_getBool(UML_LOOK);
2568
2570 if (generateLegend && !umlLook)
2571 {
2572 QCString url = m_relPath+"graph_legend"+Doxygen::htmlFileExtension;
2573 m_t << "<center><span class=\"legend\">[";
2574 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
2575 m_t << "<a ";
2576 if (generateTreeView) m_t << "target=\"top\" ";
2577 m_t << "href=\"";
2578 if (!url.isEmpty()) m_t << url;
2579 m_t << "\">";
2581 m_t << "</a>";
2582 m_t << "]</span></center>";
2583 }
2584
2587}
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 1807 of file htmlgen.cpp.

1808{
1809}

◆ endEmbeddedDoc()

void HtmlGenerator::endEmbeddedDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3588 of file htmlgen.cpp.

3589{
3590 DBG_HTML(m_t << "<!-- endEmbeddedDoc -->\n";)
3591 m_t << "</div>";
3592}
#define DBG_HTML(x)
Definition htmlgen.cpp:61

References DBG_HTML, and OutputGenerator::m_t.

◆ endEmphasis()

void HtmlGenerator::endEmphasis ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 214 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endExamples()

void HtmlGenerator::endExamples ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2776 of file htmlgen.cpp.

2777{
2778 m_t << "</dl>\n";
2779}

References OutputGenerator::m_t.

◆ endFile()

void HtmlGenerator::endFile ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1708 of file htmlgen.cpp.

1709{
1710 endPlainFile();
1711}
void endPlainFile() override
Definition htmlgen.h:334

References endPlainFile().

◆ endGroupCollaboration()

void HtmlGenerator::endGroupCollaboration ( DotGroupCollaboration & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2612 of file htmlgen.cpp.

2613{
2618
2620
2623}
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 1960 of file htmlgen.cpp.

1961{
1962 if (extraIndentLevel==2)
1963 {
1964 m_t << "</h4>\n";
1965 }
1966 else if (extraIndentLevel==1)
1967 {
1968 m_t << "</h3>\n";
1969 }
1970 else
1971 {
1972 m_t << "</h2>\n";
1973 }
1974}

References OutputGenerator::m_t.

◆ endHeaderSection()

void HtmlGenerator::endHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3511 of file htmlgen.cpp.

3512{
3513 m_t << "</div><!--header-->\n";
3514}

References OutputGenerator::m_t.

◆ endInclDepGraph()

void HtmlGenerator::endInclDepGraph ( DotInclDepGraph & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2594 of file htmlgen.cpp.

2595{
2600
2602
2605}
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 2701 of file htmlgen.cpp.

2702{
2703 DBG_HTML(m_t << "<!-- endIndent -->\n";)
2704 m_t << "\n</div>\n" << "</div>\n";
2705}

References DBG_HTML, and OutputGenerator::m_t.

◆ endIndexItem()

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

Implements OutputGenIntf.

Definition at line 1873 of file htmlgen.cpp.

1874{
1875 //printf("HtmlGenerator::endIndexItem(%s,%s,%s)\n",ref,f,name);
1876 if (!ref.isEmpty() || !f.isEmpty())
1877 {
1878 m_t << "</a>";
1879 }
1880 else
1881 {
1882 m_t << "</b>";
1883 }
1884}

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

◆ endIndexKey()

void HtmlGenerator::endIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2364 of file htmlgen.cpp.

2365{
2366 //m_t << "</td>";
2367}

◆ endIndexList()

void HtmlGenerator::endIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2354 of file htmlgen.cpp.

2355{
2356 m_t << "</table>\n";
2357}

References OutputGenerator::m_t.

◆ endIndexListItem()

void HtmlGenerator::endIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1838 of file htmlgen.cpp.

1839{
1840 m_t << "</li>\n";
1841}

References OutputGenerator::m_t.

◆ endIndexSection()

void HtmlGenerator::endIndexSection ( IndexSection )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 133 of file htmlgen.h.

133{}

◆ endIndexValue()

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

Implements OutputGenIntf.

Definition at line 2374 of file htmlgen.cpp.

2375{
2376 //m_t << "</td></tr>\n";
2377}

◆ endInlineHeader()

void HtmlGenerator::endInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3526 of file htmlgen.cpp.

3527{
3528 m_t << "</h3></td></tr>\n";
3529}

References OutputGenerator::m_t.

◆ endInlineMemberDoc()

void HtmlGenerator::endInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3576 of file htmlgen.cpp.

3577{
3578 DBG_HTML(m_t << "<!-- endInlineMemberDoc -->\n";)
3579 m_t << "</td></tr>\n";
3580}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberName()

void HtmlGenerator::endInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3564 of file htmlgen.cpp.

3565{
3566 DBG_HTML(m_t << "<!-- endInlineMemberName -->\n";)
3567 m_t << "</td>\n";
3568}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberType()

void HtmlGenerator::endInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3552 of file htmlgen.cpp.

3553{
3554 DBG_HTML(m_t << "<!-- endInlineMemberType -->\n";)
3555 m_t << "</td>\n";
3556}

References DBG_HTML, and OutputGenerator::m_t.

◆ endItemList()

void HtmlGenerator::endItemList ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 153 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endItemListItem()

void HtmlGenerator::endItemListItem ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 168 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endLabels()

void HtmlGenerator::endLabels ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3640 of file htmlgen.cpp.

3641{
3642 DBG_HTML(m_t << "<!-- endLabels -->\n";)
3643 m_t << "</span>";
3644}

References DBG_HTML, and OutputGenerator::m_t.

◆ endLocalToc()

void HtmlGenerator::endLocalToc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3743 of file htmlgen.cpp.

3744{
3745 if (m_tocState.level > m_tocState.maxLevel) m_tocState.level = m_tocState.maxLevel;
3746 while (m_tocState.level>0)
3747 {
3748 m_tocState.decIndent(m_t,"</li>");
3749 m_tocState.decIndent(m_t,"</ul>");
3750 m_tocState.level--;
3751 }
3752 m_t << "</div>\n";
3753}
TocState m_tocState
Definition htmlgen.h:364

References OutputGenerator::m_t, and m_tocState.

◆ endMemberDeclaration()

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

Implements OutputGenIntf.

Definition at line 3723 of file htmlgen.cpp.

3724{
3725}

◆ endMemberDescription()

void HtmlGenerator::endMemberDescription ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2278 of file htmlgen.cpp.

2279{
2280 DBG_HTML(m_t << "<!-- endMemberDescription -->\n")
2281 m_t << "<br /></td></tr>\n";
2282}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDoc()

void HtmlGenerator::endMemberDoc ( bool hasArgs)
overridevirtual

Implements OutputGenIntf.

Definition at line 2544 of file htmlgen.cpp.

2545{
2546 DBG_HTML(m_t << "<!-- endMemberDoc -->\n";)
2547 if (!hasArgs)
2548 {
2549 m_t << " </tr>\n";
2550 }
2551 m_t << " </table>\n";
2552 // m_t << "</div>\n";
2553}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocList()

void HtmlGenerator::endMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2384 of file htmlgen.cpp.

2385{
2386 DBG_HTML(m_t << "<!-- endMemberDocList -->\n";)
2387}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocName()

void HtmlGenerator::endMemberDocName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2428 of file htmlgen.cpp.

2429{
2430 DBG_HTML(m_t << "<!-- endMemberDocName -->\n";)
2431 m_t << "</td>\n";
2432}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocPrefixItem()

void HtmlGenerator::endMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2412 of file htmlgen.cpp.

2413{
2414 DBG_HTML(m_t << "<!-- endMemberDocPrefixItem -->\n";)
2415 m_t << "</div>\n";
2416}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocSimple()

void HtmlGenerator::endMemberDocSimple ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 3540 of file htmlgen.cpp.

3541{
3542 DBG_HTML(m_t << "<!-- endMemberDocSimple -->\n";)
3543 m_t << "</table>\n";
3544}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberGroup()

void HtmlGenerator::endMemberGroup ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2690 of file htmlgen.cpp.

2691{
2692}

◆ endMemberGroupDocs()

void HtmlGenerator::endMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2681 of file htmlgen.cpp.

2682{
2683 m_t << "</div></td></tr>\n";
2684}

References OutputGenerator::m_t.

◆ endMemberGroupHeader()

void HtmlGenerator::endMemberGroupHeader ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2671 of file htmlgen.cpp.

2672{
2673 m_t << "</div></td></tr>\n";
2674}

References OutputGenerator::m_t.

◆ endMemberHeader()

void HtmlGenerator::endMemberHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2326 of file htmlgen.cpp.

2327{
2328 DBG_HTML(m_t << "<!-- endMemberHeader -->\n")
2329 m_t << "</h2></td></tr>\n";
2330}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberItem()

void HtmlGenerator::endMemberItem ( MemberItemType type)
overridevirtual

Implements OutputGenIntf.

Definition at line 2203 of file htmlgen.cpp.

2204{
2206 {
2207 insertMemberAlign(false);
2208 }
2209 m_t << "</td></tr>\n";
2210}
OutputType type() const override
Definition htmlgen.h:121
void insertMemberAlign(bool) override
Definition htmlgen.cpp:2239

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

◆ endMemberList()

void HtmlGenerator::endMemberList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2170 of file htmlgen.cpp.

2171{
2172 DBG_HTML(m_t << "<!-- endMemberList -->\n")
2173}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberSections()

void HtmlGenerator::endMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2292 of file htmlgen.cpp.

2293{
2294 DBG_HTML(m_t << "<!-- endMemberSections -->\n")
2295 if (!m_emptySection)
2296 {
2297 m_t << "</table>\n";
2298 }
2299}

References DBG_HTML, m_emptySection, and OutputGenerator::m_t.

◆ endMemberSubtitle()

void HtmlGenerator::endMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2343 of file htmlgen.cpp.

2344{
2345 DBG_HTML(m_t << "<!-- endMemberSubtitle -->\n")
2346 m_t << "</td></tr>\n";
2347}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberTemplateParams()

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

Implements OutputGenIntf.

Definition at line 2216 of file htmlgen.cpp.

2217{
2218 bool dynamicSections = Config_getBool(HTML_DYNAMIC_SECTIONS);
2219 m_t << "</td></tr>\n";
2220 m_t << "<tr class=\"memitem:" << convertToId(anchor);
2221 if (!inheritId.isEmpty())
2222 {
2223 if (dynamicSections) m_t << " inherit";
2224 m_t << " " << inheritId;
2225 }
2226 m_t << " template\"><td class=\"memItemLeft\">";
2227}

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

◆ endPageDoc()

void HtmlGenerator::endPageDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3221 of file htmlgen.cpp.

3222{
3223 m_t << "</div><!-- PageDoc -->\n";
3224}

References OutputGenerator::m_t.

◆ endPageRef()

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

Implements OutputGenIntf.

Definition at line 248 of file htmlgen.h.

248{}

◆ endParagraph()

void HtmlGenerator::endParagraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1823 of file htmlgen.cpp.

1824{
1825 m_t << "</p>\n";
1826}

References OutputGenerator::m_t.

◆ endParameterDefVal()

void HtmlGenerator::endParameterDefVal ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2513 of file htmlgen.cpp.

2514{
2515 m_t << "</span>";
2516}

References OutputGenerator::m_t.

◆ endParameterExtra()

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

Implements OutputGenIntf.

Definition at line 2482 of file htmlgen.cpp.

2483{
2484 DBG_HTML(m_t << "<!-- endParameterExtra -->\n";)
2485 if (last)
2486 {
2487 if (emptyList)
2488 {
2489 if (closeBracket) m_t << "</td><td>)";
2490 m_t << "</td>\n";
2491 m_t << " <td>";
2492 }
2493 else
2494 {
2495 m_t << "&#160;";
2496 if (closeBracket) m_t << ")";
2497 }
2498 }
2499 else
2500 {
2501 m_t << "</td>\n";
2502 m_t << " </tr>\n";
2503 }
2504}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterList()

void HtmlGenerator::endParameterList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2518 of file htmlgen.cpp.

2519{
2520 DBG_HTML(m_t << "<!-- endParameterList -->\n";)
2521 m_t << "</td>\n";
2522 m_t << " </tr>\n";
2523}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterName()

void HtmlGenerator::endParameterName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2471 of file htmlgen.cpp.

2472{
2473 DBG_HTML(m_t << "<!-- endParameterName -->\n";)
2474 m_t << "</em></span>";
2475}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterType()

void HtmlGenerator::endParameterType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2459 of file htmlgen.cpp.

2460{
2461 DBG_HTML(m_t << "<!-- endParameterType -->\n";)
2462 m_t << "</td>";
2463}

References DBG_HTML, and OutputGenerator::m_t.

◆ endPlainFile()

void HtmlGenerator::endPlainFile ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 334 of file htmlgen.h.

References OutputGenerator::endPlainFile().

Referenced by endFile(), and writeStyleInfo().

◆ endProjectNumber()

void HtmlGenerator::endProjectNumber ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1718 of file htmlgen.cpp.

1719{
1720 m_t << "</h3>";
1721}

References OutputGenerator::m_t.

◆ endQuickIndices()

void HtmlGenerator::endQuickIndices ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3152 of file htmlgen.cpp.

3153{
3154 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3155 m_t << "</div><!-- top -->\n";
3156 if (!generateTreeView)
3157 {
3158 m_t << "<div id=\"doc-content\">\n";
3159 }
3160}

References Config_getBool, and OutputGenerator::m_t.

◆ endSection()

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

Implements OutputGenIntf.

Definition at line 1992 of file htmlgen.cpp.

1993{
1994 switch(type.level())
1995 {
1996 case SectionType::Page: m_t << "</h1>"; break;
1997 case SectionType::Section: m_t << "</h2>"; break;
1998 case SectionType::Subsection: m_t << "</h3>"; break;
1999 case SectionType::Subsubsection: m_t << "</h4>"; break;
2000 case SectionType::Paragraph: m_t << "</h5>"; break;
2001 case SectionType::Subparagraph: m_t << "</h6>"; break;
2002 case SectionType::Subsubparagraph: m_t << "</h6>"; break;
2003 default: ASSERT(0); break;
2004 }
2005}
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 236 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endTextBlock()

void HtmlGenerator::endTextBlock ( bool )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 287 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endTextLink()

void HtmlGenerator::endTextLink ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1934 of file htmlgen.cpp.

1935{
1936 m_t << "</a>";
1937}

References OutputGenerator::m_t.

◆ endTitle()

void HtmlGenerator::endTitle ( )
inlineprivate

Definition at line 341 of file htmlgen.h.

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

References OutputGenerator::m_t.

Referenced by endTitleHead().

◆ endTitleHead()

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

Implements OutputGenIntf.

Definition at line 3505 of file htmlgen.cpp.

3506{
3507 endTitle();
3508 m_t << "</div>\n";
3509}
void endTitle()
Definition htmlgen.h:341

References endTitle(), and OutputGenerator::m_t.

◆ endTocEntry()

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

Implements OutputGenIntf.

Definition at line 3799 of file htmlgen.cpp.

3800{
3801 SectionType type = si->type();
3802 int nextLevel = type.level();
3803 if (type.isSection() && nextLevel<=m_tocState.maxLevel)
3804 {
3805 m_t << "</a>\n";
3806 m_tocState.inLi[nextLevel]=true;
3807 m_tocState.level = nextLevel;
3808 }
3809}
SectionType type() const
Definition section.h:71

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

◆ endTypewriter()

void HtmlGenerator::endTypewriter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 164 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ exceptionEntry()

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

Implements OutputGenIntf.

Definition at line 2525 of file htmlgen.cpp.

2526{
2527 DBG_HTML(m_t << "<!-- exceptionEntry -->\n";)
2528 if (!closeBracket)
2529 {
2530 m_t << "</td>\n";
2531 m_t << " </tr>\n";
2532 m_t << " <tr>\n";
2533 m_t << " <td align=\"right\">";
2534 }
2535 // colspan 2 so it gets both parameter type and parameter name columns
2536 if (!prefix.isEmpty())
2537 m_t << prefix << "</td><td>(</td><td colspan=\"2\">";
2538 else if (closeBracket)
2539 m_t << "&#160;)</td><td></td><td></td><td>";
2540 else
2541 m_t << "</td><td></td><td colspan=\"2\">";
2542}
constexpr auto prefix
Definition anchor.cpp:44

References DBG_HTML, OutputGenerator::m_t, and prefix.

◆ getNavTreeCss()

QCString HtmlGenerator::getNavTreeCss ( )
static

Definition at line 3727 of file htmlgen.cpp.

3728{
3729 ResourceMgr &mgr = ResourceMgr::instance();
3730 return replaceVariables(mgr.getAsString("navtree.css"));
3731}
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:750

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

Referenced by init().

◆ init()

void HtmlGenerator::init ( )
static

Definition at line 1247 of file htmlgen.cpp.

1248{
1249 QCString dname = Config_getString(HTML_OUTPUT);
1250 Dir d(dname.str());
1251 if (!d.exists() && !d.mkdir(dname.str()))
1252 {
1253 term("Could not create output directory {}\n",dname);
1254 }
1255 //writeLogo(dname);
1256 if (!Config_getString(HTML_HEADER).isEmpty())
1257 {
1258 g_header_file=Config_getString(HTML_HEADER);
1261 //printf("g_header='%s'\n",qPrint(g_header));
1262 QCString result = substituteHtmlKeywords(g_header_file,g_header,QCString(),QCString());
1263 checkBlocks(result,Config_getString(HTML_HEADER),htmlMarkerInfo);
1264 }
1265 else
1266 {
1267 g_header_file="header.html";
1270 QCString result = substituteHtmlKeywords(g_header_file,g_header,QCString(),QCString());
1271 checkBlocks(result,"<default header.html>",htmlMarkerInfo);
1272 }
1273
1274 if (!Config_getString(HTML_FOOTER).isEmpty())
1275 {
1276 g_footer_file=Config_getString(HTML_FOOTER);
1279 //printf("g_footer='%s'\n",qPrint(g_footer));
1280 QCString result = substituteHtmlKeywords(g_footer_file,g_footer,QCString(),QCString());
1281 checkBlocks(result,Config_getString(HTML_FOOTER),htmlMarkerInfo);
1282 }
1283 else
1284 {
1285 g_footer_file = "footer.html";
1288 QCString result = substituteHtmlKeywords(g_footer_file,g_footer,QCString(),QCString());
1289 checkBlocks(result,"<default footer.html>",htmlMarkerInfo);
1290 }
1291
1292 if (Config_getBool(USE_MATHJAX))
1293 {
1294 if (!Config_getString(MATHJAX_CODEFILE).isEmpty())
1295 {
1296 g_mathjax_code=fileToString(Config_getString(MATHJAX_CODEFILE));
1297 //printf("g_mathjax_code='%s'\n",qPrint(g_mathjax_code));
1298 }
1300 //printf("converted g_latex_macro='%s'\n",qPrint(g_latex_macro));
1301 }
1302 createSubDirs(d);
1303
1305
1306 ResourceMgr &mgr = ResourceMgr::instance();
1307
1308 {
1309 QCString tabsCss;
1310 if (Config_getBool(HTML_DYNAMIC_MENUS))
1311 {
1312 tabsCss = mgr.getAsString("tabs.css");
1313 }
1314 else // stylesheet for the 'old' static tabs
1315 {
1316 tabsCss = mgr.getAsString("fixed_tabs.css");
1317 }
1318
1319 std::ofstream f = Portable::openOutputStream(dname+"/tabs.css");
1320 if (f.is_open())
1321 {
1322 TextStream t(&f);
1323 t << replaceVariables(tabsCss);
1324 }
1325 }
1326
1327
1328 if (Config_getBool(INTERACTIVE_SVG))
1329 {
1330 mgr.copyResource("svg.min.js",dname);
1331 }
1332
1333 if (!Config_getBool(DISABLE_INDEX) && Config_getBool(HTML_DYNAMIC_MENUS))
1334 {
1335 mgr.copyResource("menu.js",dname);
1336 }
1337
1338 // copy navtree.css
1339 {
1340 std::ofstream f = Portable::openOutputStream(dname+"/navtree.css");
1341 if (f.is_open())
1342 {
1343 TextStream t(&f);
1344 t << getNavTreeCss();
1345 }
1346 }
1347
1348 if (Config_getBool(HTML_COPY_CLIPBOARD))
1349 {
1350 std::ofstream f = Portable::openOutputStream(dname+"/clipboard.js");
1351 if (f.is_open())
1352 {
1353 TextStream t(&f);
1354 t << substitute(mgr.getAsString("clipboard.js"),"$copy_to_clipboard_text",theTranslator->trCopyToClipboard());
1355 }
1356 }
1357
1358 bool hasCookie = Config_getBool(GENERATE_TREEVIEW) || Config_getBool(SEARCHENGINE) || Config_getEnum(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE;
1359 if (hasCookie)
1360 {
1361 mgr.copyResource("cookie.js",dname);
1362 }
1363
1364 if (Config_getBool(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE)
1365 {
1366 std::ofstream f = Portable::openOutputStream(dname+"/darkmode_toggle.js");
1367 if (f.is_open())
1368 {
1369 TextStream t(&f);
1370 t << substitute(replaceColorMarkers(mgr.getAsString("darkmode_toggle.js")),
1371 "$PROJECTID",getProjectId());
1372 }
1373 }
1374
1375 if (Config_getBool(HTML_DYNAMIC_SECTIONS))
1376 {
1377 std::ofstream f = Portable::openOutputStream(dname+"/dynsections.js");
1378 if (f.is_open())
1379 {
1380 TextStream t(&f);
1381 t << replaceVariables(mgr.getAsString("dynsections.js"));
1382 if (Config_getBool(SOURCE_BROWSER) && Config_getBool(SOURCE_TOOLTIPS))
1383 {
1384 t << replaceVariables(mgr.getAsString("dynsections_tooltips.js"));
1385 }
1386 }
1387 }
1388 if (Config_getBool(HTML_CODE_FOLDING))
1389 {
1390 std::ofstream f = Portable::openOutputStream(dname+"/codefolding.js");
1391 if (f.is_open())
1392 {
1393 TextStream t(&f);
1394 t << replaceVariables(mgr.getAsString("codefolding.js"));
1395 }
1396 }
1397}
static QCString getNavTreeCss()
Definition htmlgen.cpp:3727
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:69
static QCString g_header
Definition htmlgen.cpp:63
static QCString g_header_file
Definition htmlgen.cpp:64
static QCString g_mathjax_code
Definition htmlgen.cpp:67
static QCString g_footer
Definition htmlgen.cpp:66
static const SelectionMarkerInfo htmlMarkerInfo
Definition htmlgen.cpp:72
static QCString getConvertLatexMacro()
Convert a set of LaTeX commands \‍(re)newcommand to a form readable by MathJax LaTeX syntax:
Definition htmlgen.cpp:142
static QCString g_footer_file
Definition htmlgen.cpp:65
static bool hasDateReplacement(const QCString &str)
Definition htmlgen.cpp:1238
static QCString g_latex_macro
Definition htmlgen.cpp:68
static void fillColorStyleMaps()
Definition htmlgen.cpp:736
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:307
#define term(fmt,...)
Definition message.h:137
std::ofstream openOutputStream(const QCString &name, bool append=false)
Definition portable.cpp:648
QCString substitute(const QCString &s, const QCString &src, const QCString &dst)
substitute all occurrences of src in s by dst
Definition qcstring.cpp:571
void checkBlocks(const QCString &s, const QCString fileName, const SelectionMarkerInfo &markerInfo)
Definition util.cpp:6540
QCString fileToString(const QCString &name, bool filter, bool isSourceCode)
Definition util.cpp:1494
void createSubDirs(const Dir &d)
Definition util.cpp:3661
QCString getProjectId()
Definition util.cpp:6829
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:5824

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 2239 of file htmlgen.cpp.

2240{
2241 DBG_HTML(m_t << "<!-- insertMemberAlign -->\n")
2242 m_t << "&#160;</td><td class=\"memItemRight\">";
2243}

References DBG_HTML, and OutputGenerator::m_t.

Referenced by endMemberItem().

◆ insertMemberAlignLeft()

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

Implements OutputGenIntf.

Definition at line 2245 of file htmlgen.cpp.

2246{
2247 if (!initTag) m_t << "&#160;</td>";
2248 switch (type)
2249 {
2250 case MemberItemType::Normal: m_t << "<td class=\"memItemLeft\">"; break;
2251 case MemberItemType::AnonymousStart: m_t << "<td class=\"memItemLeft anon\">"; break;
2252 case MemberItemType::AnonymousEnd: m_t << "<td class=\"memItemLeft anonEnd\">"; break;
2253 case MemberItemType::Templated: m_t << "<td class=\"memTemplParams\" colspan=\"2\">"; break;
2254 }
2255}

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 288 of file htmlgen.h.

288{}

◆ lineBreak()

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

Implements OutputGenIntf.

Definition at line 3482 of file htmlgen.cpp.

3483{
3484 if (!style.isEmpty())
3485 {
3486 m_t << "<br class=\"" << style << "\" />\n";
3487 }
3488 else
3489 {
3490 m_t << "<br />\n";
3491 }
3492}

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

◆ operator=() [1/2]

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

Definition at line 1213 of file htmlgen.cpp.

1214{
1215 //printf("%p:HtmlGenerator(copy assign %p)\n",(void*)this,(void*)&og);
1216 if (this!=&og)
1217 {
1218 m_dir = og.m_dir;
1219 m_codeList = std::make_unique<OutputCodeList>(*og.m_codeList);
1220 m_codeGen = m_codeList->get<HtmlCodeGenerator>(OutputType::Html);
1221 m_codeGen->setTextStream(&m_t);
1224 m_relPath = og.m_relPath;
1227 }
1228 return *this;
1229}

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 184 of file htmlgen.h.

184{}

◆ startBold()

void HtmlGenerator::startBold ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 215 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startCallGraph()

void HtmlGenerator::startCallGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2625 of file htmlgen.cpp.

2626{
2628}
static void startSectionHeader(TextStream &t, const QCString &relPath, int sectionCount)
Definition htmlgen.cpp:2059

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

◆ startCenter()

void HtmlGenerator::startCenter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 233 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startClassDiagram()

void HtmlGenerator::startClassDiagram ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2126 of file htmlgen.cpp.

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

◆ startCompoundTemplateParams()

void HtmlGenerator::startCompoundTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2229 of file htmlgen.cpp.

2230{
2231 m_t << "<div class=\"compoundTemplParams\">";
2232}

References OutputGenerator::m_t.

◆ startConstraintDocs()

void HtmlGenerator::startConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3464 of file htmlgen.cpp.

3465{
3466 m_t << "<td>&#160;";
3467}

References OutputGenerator::m_t.

◆ startConstraintList()

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

Implements OutputGenIntf.

Definition at line 3437 of file htmlgen.cpp.

3438{
3439 m_t << "<div class=\"typeconstraint\">\n";
3440 m_t << "<dl><dt><b>" << header << "</b></dt><dd>\n";
3441 m_t << "<table border=\"0\" cellspacing=\"2\" cellpadding=\"0\">\n";
3442}

References OutputGenerator::m_t.

◆ startConstraintParam()

void HtmlGenerator::startConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3444 of file htmlgen.cpp.

3445{
3446 m_t << "<tr><td valign=\"top\"><em>";
3447}

References OutputGenerator::m_t.

◆ startConstraintType()

void HtmlGenerator::startConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3454 of file htmlgen.cpp.

3455{
3456 m_t << "<td>&#160;:</td><td valign=\"top\"><em>";
3457}

References OutputGenerator::m_t.

◆ startContents()

void HtmlGenerator::startContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3206 of file htmlgen.cpp.

3207{
3208 m_t << "<div class=\"contents\">\n";
3209}

References OutputGenerator::m_t.

◆ startDescForItem()

void HtmlGenerator::startDescForItem ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 217 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startDescTable()

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

Implements OutputGenIntf.

Definition at line 2719 of file htmlgen.cpp.

2720{
2721 m_t << "<table class=\"fieldtable\">\n"
2722 << "<tr><th colspan=\"" << (hasInits?3:2) << "\">" << title << "</th></tr>";
2723}

References OutputGenerator::m_t.

◆ startDescTableData()

void HtmlGenerator::startDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2759 of file htmlgen.cpp.

2760{
2761 m_t << "<td class=\"fielddoc\">";
2762}

References OutputGenerator::m_t.

◆ startDescTableInit()

void HtmlGenerator::startDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2749 of file htmlgen.cpp.

2750{
2751 m_t << "<td class=\"fieldinit\">";
2752}

References OutputGenerator::m_t.

◆ startDescTableRow()

void HtmlGenerator::startDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2729 of file htmlgen.cpp.

2730{
2731 m_t << "<tr>";
2732}

References OutputGenerator::m_t.

◆ startDescTableTitle()

void HtmlGenerator::startDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2739 of file htmlgen.cpp.

2740{
2741 m_t << "<td class=\"fieldname\">";
2742}

References OutputGenerator::m_t.

◆ startDirDepGraph()

void HtmlGenerator::startDirDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2643 of file htmlgen.cpp.

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

◆ startDotGraph()

void HtmlGenerator::startDotGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2555 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 1800 of file htmlgen.cpp.

1803{
1804 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>";
1805}

References OutputGenerator::m_t.

◆ startEmbeddedDoc()

void HtmlGenerator::startEmbeddedDoc ( int indent)
overridevirtual

Implements OutputGenIntf.

Definition at line 3582 of file htmlgen.cpp.

3583{
3584 DBG_HTML(m_t << "<!-- startEmbeddedDoc -->\n";)
3585 m_t << "<div class=\"embeddoc indent-" << indent << "\">";
3586}

References DBG_HTML, and OutputGenerator::m_t.

◆ startEmphasis()

void HtmlGenerator::startEmphasis ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 213 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startExamples()

void HtmlGenerator::startExamples ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2769 of file htmlgen.cpp.

2770{
2771 m_t << "<dl class=\"section examples\"><dt>";
2773 m_t << "</dt>";
2774}
void docify(const QCString &text) override
Definition htmlgen.cpp:2007
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 1598 of file htmlgen.cpp.

1600{
1601 //printf("HtmlGenerator::startFile(%s)\n",qPrint(name));
1603 QCString fileName = name;
1605 m_lastTitle=title;
1606
1608 m_codeGen->setFileName(fileName);
1609 m_codeGen->setRelativePath(m_relPath);
1610 {
1611 std::lock_guard<std::mutex> lock(g_indexLock);
1613 }
1614
1617
1618 m_t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
1619 << getDoxygenVersion() << " -->\n";
1620 bool searchEngine = Config_getBool(SEARCHENGINE);
1621 if (searchEngine /*&& !generateTreeView*/)
1622 {
1623 m_t << "<script type=\"text/javascript\">\n";
1624 m_t << "let searchBox = new SearchBox(\"searchBox\", \""
1625 << m_relPath<< "search/\",'" << Doxygen::htmlFileExtension << "');\n";
1626 m_t << "</script>\n";
1627 }
1628 if (Config_getBool(HTML_CODE_FOLDING))
1629 {
1630 m_t << "<script type=\"text/javascript\">\n";
1631 m_t << "document.addEventListener('DOMContentLoaded', codefold.init);\n";
1632 m_t << "</script>\n";
1633 }
1635}
static IndexList * indexList
Definition doxygen.h:132
void startPlainFile(const QCString &name) override
Definition htmlgen.h:333
void addIndexFile(const QCString &name)
Definition indexlist.h:120
virtual QCString trGeneratedBy()=0
static std::mutex g_indexLock
Definition htmlgen.cpp:1596
QCString convertToHtml(const QCString &s, bool keepEntities)
Definition util.cpp:3984
QCString relativePathToRoot(const QCString &name)
Definition util.cpp:3600
QCString filterTitle(const QCString &title)
Definition util.cpp:5650
void addHtmlExtensionIfMissing(QCString &fName)
Definition util.cpp:4942

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 2607 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 1939 of file htmlgen.cpp.

1940{
1941 if (extraIndentLevel==2)
1942 {
1943 m_t << "<h4";
1944 }
1945 else if (extraIndentLevel==1)
1946 {
1947 m_t << "<h3";
1948 }
1949 else // extraIndentLevel==0
1950 {
1951 m_t << "<h2";
1952 }
1953 if (!id.isEmpty())
1954 {
1955 m_t <<" id=\"header-"+convertToId(id)+"\"";
1956 }
1957 m_t << " class=\"groupheader\">";
1958}

References convertToId(), and OutputGenerator::m_t.

◆ startHeaderSection()

void HtmlGenerator::startHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3494 of file htmlgen.cpp.

3495{
3496 m_t << "<div class=\"header\">\n";
3497}

References OutputGenerator::m_t.

◆ startInclDepGraph()

void HtmlGenerator::startInclDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2589 of file htmlgen.cpp.

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

◆ startIndent()

void HtmlGenerator::startIndent ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2694 of file htmlgen.cpp.

2695{
2696 DBG_HTML(m_t << "<!-- startIndent -->\n";)
2697
2698 m_t << "<div class=\"memdoc\">\n";
2699}

References DBG_HTML, and OutputGenerator::m_t.

◆ startIndexItem()

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

Implements OutputGenIntf.

Definition at line 1843 of file htmlgen.cpp.

1844{
1845 //printf("HtmlGenerator::startIndexItem(%s,%s)\n",ref,f);
1846 if (!ref.isEmpty() || !f.isEmpty())
1847 {
1848 if (!ref.isEmpty())
1849 {
1850 m_t << "<a class=\"elRef\" ";
1852 }
1853 else
1854 {
1855 m_t << "<a class=\"el\" ";
1856 }
1857 m_t << "href=\"";
1858 m_t << externalRef(m_relPath,ref,TRUE);
1859 if (!f.isEmpty())
1860 {
1861 QCString fn=f;
1863 m_t << fn;
1864 }
1865 m_t << "\">";
1866 }
1867 else
1868 {
1869 m_t << "<b>";
1870 }
1871}
QCString externalRef(const QCString &relPath, const QCString &ref, bool href)
Definition util.cpp:5793
QCString externalLinkTarget(const bool parent)
Definition util.cpp:5745

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

◆ startIndexKey()

void HtmlGenerator::startIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2359 of file htmlgen.cpp.

2360{
2361 //m_t << " <tr><td class=\"indexkey\">";
2362}

◆ startIndexList()

void HtmlGenerator::startIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2349 of file htmlgen.cpp.

2350{
2351 m_t << "<table>\n";
2352}

References OutputGenerator::m_t.

◆ startIndexListItem()

void HtmlGenerator::startIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1833 of file htmlgen.cpp.

1834{
1835 m_t << "<li>";
1836}

References OutputGenerator::m_t.

◆ startIndexSection()

void HtmlGenerator::startIndexSection ( IndexSection )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 132 of file htmlgen.h.

132{}

◆ startIndexValue()

void HtmlGenerator::startIndexValue ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2369 of file htmlgen.cpp.

2370{
2371 //m_t << "<td class=\"indexvalue\">";
2372}

◆ startInlineHeader()

void HtmlGenerator::startInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3516 of file htmlgen.cpp.

3517{
3518 if (m_emptySection)
3519 {
3520 m_t << "<table class=\"memberdecls\">\n";
3522 }
3523 m_t << "<tr><td colspan=\"2\"><h3>";
3524}

References FALSE, m_emptySection, and OutputGenerator::m_t.

◆ startInlineMemberDoc()

void HtmlGenerator::startInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3570 of file htmlgen.cpp.

3571{
3572 DBG_HTML(m_t << "<!-- startInlineMemberDoc -->\n";)
3573 m_t << "<td class=\"fielddoc\">\n";
3574}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberName()

void HtmlGenerator::startInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3558 of file htmlgen.cpp.

3559{
3560 DBG_HTML(m_t << "<!-- startInlineMemberName -->\n";)
3561 m_t << "<td class=\"fieldname\">\n";
3562}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberType()

void HtmlGenerator::startInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3546 of file htmlgen.cpp.

3547{
3548 DBG_HTML(m_t << "<!-- startInlineMemberType -->\n";)
3549 m_t << "<tr><td class=\"fieldtype\">\n";
3550}

References DBG_HTML, and OutputGenerator::m_t.

◆ startItemList()

void HtmlGenerator::startItemList ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 152 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startItemListItem()

void HtmlGenerator::startItemListItem ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 167 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startLabels()

void HtmlGenerator::startLabels ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3594 of file htmlgen.cpp.

3595{
3596 DBG_HTML(m_t << "<!-- startLabels -->\n";)
3597 m_t << "<span class=\"mlabels\">";
3598}

References DBG_HTML, and OutputGenerator::m_t.

◆ startLocalToc()

void HtmlGenerator::startLocalToc ( int level)
overridevirtual

Implements OutputGenIntf.

Definition at line 3733 of file htmlgen.cpp.

3734{
3735 m_tocState.level=0;
3736 m_tocState.indent=0;
3737 m_tocState.maxLevel=level;
3738 m_tocState.inLi = BoolVector(level+1,false);
3739 m_t << "<div class=\"toc\">";
3740 m_t << "<h3>" << theTranslator->trRTFTableOfContents() << "</h3>\n";
3741}
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 204 of file htmlgen.h.

204{}

◆ startMemberDescription()

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

Implements OutputGenIntf.

Definition at line 2257 of file htmlgen.cpp.

2258{
2259 DBG_HTML(m_t << "<!-- startMemberDescription -->\n")
2260 bool dynamicSections = Config_getBool(HTML_DYNAMIC_SECTIONS);
2261 if (m_emptySection)
2262 {
2263 m_t << "<table class=\"memberdecls\">\n";
2265 }
2266 m_t << "<tr class=\"memdesc:" << anchor;
2267 if (!inheritId.isEmpty())
2268 {
2269 if (dynamicSections) m_t << " inherit";
2270 m_t << " " << inheritId;
2271 }
2272 m_t << "\">";
2273 m_t << "<td class=\"mdescLeft\">&#160;</td>";
2274 if (typ) m_t << "<td class=\"mdescLeft\">&#160;</td>";
2275 m_t << "<td class=\"mdescRight\">";
2276}

References Config_getBool, 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 2389 of file htmlgen.cpp.

2392{
2393 DBG_HTML(m_t << "<!-- startMemberDoc -->\n";)
2394 m_t << "\n<h2 class=\"memtitle\">"
2395 << "<span class=\"permalink\"><a href=\"#" << anchor << "\">&#9670;&#160;</a></span>";
2396 docify(title);
2397 if (memTotal>1)
2398 {
2399 m_t << " <span class=\"overload\">[" << memCount << "/" << memTotal <<"]</span>";
2400 }
2401 m_t << "</h2>\n";
2402 m_t << "\n<div class=\"memitem\">\n";
2403 m_t << "<div class=\"memproto\">\n";
2404}

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

◆ startMemberDocList()

void HtmlGenerator::startMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2379 of file htmlgen.cpp.

2380{
2381 DBG_HTML(m_t << "<!-- startMemberDocList -->\n";)
2382}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocName()

void HtmlGenerator::startMemberDocName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2418 of file htmlgen.cpp.

2419{
2420 DBG_HTML(m_t << "<!-- startMemberDocName -->\n";)
2421
2422 m_t << " <table class=\"memname\">\n";
2423
2424 m_t << " <tr>\n";
2425 m_t << " <td class=\"memname\">";
2426}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocPrefixItem()

void HtmlGenerator::startMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2406 of file htmlgen.cpp.

2407{
2408 DBG_HTML(m_t << "<!-- startMemberDocPrefixItem -->\n";)
2409 m_t << "<div class=\"memtemplate\">\n";
2410}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocSimple()

void HtmlGenerator::startMemberDocSimple ( bool isEnum)
overridevirtual

Implements OutputGenIntf.

Definition at line 3531 of file htmlgen.cpp.

3532{
3533 DBG_HTML(m_t << "<!-- startMemberDocSimple -->\n";)
3534 m_t << "<table class=\"fieldtable\">\n";
3535 m_t << "<tr><th colspan=\"" << (isEnum?"2":"3") << "\">";
3536 m_t << (isEnum? theTranslator->trEnumerationValues() :
3537 theTranslator->trCompoundMembers()) << "</th></tr>\n";
3538}
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 2686 of file htmlgen.cpp.

2687{
2688}

◆ startMemberGroupDocs()

void HtmlGenerator::startMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2676 of file htmlgen.cpp.

2677{
2678 m_t << "<tr><td colspan=\"2\" class=\"ititle\"><div class=\"groupText\">";
2679}

References OutputGenerator::m_t.

◆ startMemberGroupHeader()

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

Implements OutputGenIntf.

Definition at line 2666 of file htmlgen.cpp.

2667{
2668 m_t << "<tr id=\"" << id << "\" class=\"groupHeader\"><td colspan=\"2\"><div class=\"groupHeader\">";
2669}

References OutputGenerator::m_t.

◆ startMemberHeader()

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

Implements OutputGenIntf.

Definition at line 2301 of file htmlgen.cpp.

2302{
2303 DBG_HTML(m_t << "<!-- startMemberHeader -->\n")
2304 if (!m_emptySection)
2305 {
2306 m_t << "</table>";
2308 }
2309 if (m_emptySection)
2310 {
2311 m_t << "<table class=\"memberdecls\">\n";
2313 }
2314 m_t << "<tr class=\"heading\"><td colspan=\"" << typ << "\"><h2";
2315 if (!anchor.isEmpty())
2316 {
2317 m_t << " id=\"header-" << anchor << "\"";
2318 }
2319 m_t << " class=\"groupheader\">";
2320 if (!anchor.isEmpty())
2321 {
2322 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>\n";
2323 }
2324}

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 2179 of file htmlgen.cpp.

2180{
2181 DBG_HTML(m_t << "<!-- startMemberItem() -->\n")
2182 bool dynamicSections = Config_getBool(HTML_DYNAMIC_SECTIONS);
2183 if (m_emptySection)
2184 {
2185 m_t << "<table class=\"memberdecls\">\n";
2187 }
2188 m_t << "<tr class=\"memitem:" << convertToId(anchor);
2189 if (!inheritId.isEmpty())
2190 {
2191 if (dynamicSections) m_t << " inherit";
2192 m_t << " " << inheritId;
2193 }
2194 m_t << "\"";
2195 if (!anchor.isEmpty())
2196 {
2197 m_t << " id=\"r_" << convertToId(anchor) << "\"";
2198 }
2199 m_t << ">";
2201}
void insertMemberAlignLeft(MemberItemType, bool) override
Definition htmlgen.cpp:2245

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

◆ startMemberList()

void HtmlGenerator::startMemberList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2165 of file htmlgen.cpp.

2166{
2167 DBG_HTML(m_t << "<!-- startMemberList -->\n")
2168}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberSections()

void HtmlGenerator::startMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2284 of file htmlgen.cpp.

2285{
2286 DBG_HTML(m_t << "<!-- startMemberSections -->\n")
2287 m_emptySection=TRUE; // we postpone writing <table> until we actually
2288 // write a row to prevent empty tables, which
2289 // are not valid XHTML!
2290}

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

◆ startMemberSubtitle()

void HtmlGenerator::startMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2332 of file htmlgen.cpp.

2333{
2334 DBG_HTML(m_t << "<!-- startMemberSubtitle -->\n")
2335 if (m_emptySection)
2336 {
2337 m_t << "<table class=\"memberdecls\">\n";
2339 }
2340 m_t << "<tr><td class=\"ititle\" colspan=\"2\">";
2341}

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

◆ startMemberTemplateParams()

void HtmlGenerator::startMemberTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2212 of file htmlgen.cpp.

2213{
2214}

◆ startPageDoc()

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

Implements OutputGenIntf.

Definition at line 3216 of file htmlgen.cpp.

3217{
3218 m_t << "<div>";
3219}

References OutputGenerator::m_t.

◆ startPageRef()

void HtmlGenerator::startPageRef ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 247 of file htmlgen.h.

247{}

◆ startParagraph()

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

Implements OutputGenIntf.

Definition at line 1815 of file htmlgen.cpp.

1816{
1817 if (!classDef.isEmpty())
1818 m_t << "\n<p class=\"" << classDef << "\">";
1819 else
1820 m_t << "\n<p>";
1821}

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

◆ startParameterDefVal()

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

Implements OutputGenIntf.

Definition at line 2506 of file htmlgen.cpp.

2507{
2508 m_t << "<span class=\"paramdefsep\">";
2509 docify(s);
2510 m_t << "</span><span class=\"paramdefval\">";
2511}

References docify(), and OutputGenerator::m_t.

◆ startParameterExtra()

void HtmlGenerator::startParameterExtra ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2477 of file htmlgen.cpp.

2478{
2479 DBG_HTML(m_t << "<!-- startParameterExtra -->\n";)
2480}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterList()

void HtmlGenerator::startParameterList ( bool openBracket)
overridevirtual

Implements OutputGenIntf.

Definition at line 2434 of file htmlgen.cpp.

2435{
2436 DBG_HTML(m_t << "<!-- startParameterList -->\n";)
2437 m_t << " <td>";
2438 if (openBracket) m_t << "(";
2439 m_t << "</td>\n";
2440}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterName()

void HtmlGenerator::startParameterName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2465 of file htmlgen.cpp.

2466{
2467 DBG_HTML(m_t << "<!-- startParameterName -->\n";)
2468 m_t << " <td class=\"paramname\"><span class=\"paramname\"><em>";
2469}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterType()

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

Implements OutputGenIntf.

Definition at line 2442 of file htmlgen.cpp.

2443{
2444 if (first)
2445 {
2446 DBG_HTML(m_t << "<!-- startFirstParameterType -->\n";)
2447 m_t << " <td class=\"paramtype\">";
2448 }
2449 else
2450 {
2451 DBG_HTML(m_t << "<!-- startParameterType -->\n";)
2452 m_t << " <tr>\n";
2453 m_t << " <td class=\"paramkey\">" << key << "</td>\n";
2454 m_t << " <td></td>\n";
2455 m_t << " <td class=\"paramtype\">";
2456 }
2457}

References DBG_HTML, and OutputGenerator::m_t.

◆ startPlainFile()

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

Implements OutputGenIntf.

Definition at line 333 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 1713 of file htmlgen.cpp.

1714{
1715 m_t << "<h3 class=\"version\">";
1716}

References OutputGenerator::m_t.

◆ startQuickIndices()

void HtmlGenerator::startQuickIndices ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 249 of file htmlgen.h.

249{}

◆ startSection()

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

Implements OutputGenIntf.

Definition at line 1976 of file htmlgen.cpp.

1977{
1978 switch(type.level())
1979 {
1980 case SectionType::Page: m_t << "\n\n<h1 class=\"doxsection\">"; break;
1981 case SectionType::Section: m_t << "\n\n<h2 class=\"doxsection\">"; break;
1982 case SectionType::Subsection: m_t << "\n\n<h3 class=\"doxsection\">"; break;
1983 case SectionType::Subsubsection: m_t << "\n\n<h4 class=\"doxsection\">"; break;
1984 case SectionType::Paragraph: m_t << "\n\n<h5 class=\"doxsection\">"; break;
1985 case SectionType::Subparagraph: m_t << "\n\n<h6 class=\"doxsection\">"; break;
1986 case SectionType::Subsubparagraph: m_t << "\n\n<h6 class=\"doxsection\">"; break;
1987 default: ASSERT(0); break;
1988 }
1989 m_t << "<a id=\"" << lab << "\" name=\"" << lab << "\"></a>";
1990}

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 235 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startTextBlock()

void HtmlGenerator::startTextBlock ( bool )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 286 of file htmlgen.h.

286{ 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 1922 of file htmlgen.cpp.

1923{
1924 m_t << "<a href=\"";
1925 QCString fn = f;
1927 m_t << createHtmlUrl(m_relPath,"",true,
1928 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1929 fn,
1930 anchor);
1931 m_t << "\">";
1932}
QCString createHtmlUrl(const QCString &relPath, const QCString &ref, bool href, bool isLocalFile, const QCString &targetFileName, const QCString &anchor)
Definition util.cpp:5756

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

◆ startTitle()

void HtmlGenerator::startTitle ( )
inlineprivate

Definition at line 340 of file htmlgen.h.

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

References OutputGenerator::m_t.

Referenced by startTitleHead().

◆ startTitleHead()

void HtmlGenerator::startTitleHead ( const QCString & )
overridevirtual

Implements OutputGenIntf.

Definition at line 3499 of file htmlgen.cpp.

3500{
3501 m_t << " <div class=\"headertitle\">";
3502 startTitle();
3503}
void startTitle()
Definition htmlgen.h:340

References OutputGenerator::m_t, and startTitle().

◆ startTocEntry()

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

Implements OutputGenIntf.

Definition at line 3755 of file htmlgen.cpp.

3756{
3757 SectionType type = si->type();
3758 if (type.isSection())
3759 {
3760 //printf(" level=%d title=%s maxLevel=%d\n",level,qPrint(si->title()),maxLevel);
3761 int nextLevel = type.level();
3762 if (nextLevel>m_tocState.level)
3763 {
3764 for (int l=m_tocState.level;l<nextLevel;l++)
3765 {
3766 if (l < m_tocState.maxLevel)
3767 {
3768 m_tocState.incIndent(m_t,"<ul>");
3769 char cs[2] = { static_cast<char>('0'+l+1), 0 };
3770 const char *empty = (l!=nextLevel-1) ? " empty" : "";
3771 m_tocState.incIndent(m_t,"<li class=\"level" + QCString(cs) + empty + "\">");
3772 }
3773 }
3774 }
3775 else if (nextLevel<m_tocState.level)
3776 {
3777 for (int l=m_tocState.level;l>nextLevel;l--)
3778 {
3779 if (l <= m_tocState.maxLevel) m_tocState.decIndent(m_t,"</li>");
3780 m_tocState.inLi[l] = false;
3781 if (l <= m_tocState.maxLevel) m_tocState.decIndent(m_t,"</ul>");
3782 }
3783 }
3784 if (nextLevel <= m_tocState.maxLevel)
3785 {
3786 if (m_tocState.inLi[nextLevel] || m_tocState.level>nextLevel)
3787 {
3788 m_tocState.decIndent(m_t,"</li>");
3789 char cs[2] = { static_cast<char>('0'+nextLevel), 0 };
3790 m_tocState.incIndent(m_t,"<li class=\"level" + QCString(cs) + "\">");
3791 }
3792 QCString label = si->label();
3793 m_tocState.writeIndent(m_t);
3794 m_t << "<a href=\"#"+label+"\">";
3795 }
3796 }
3797}
QCString label() const
Definition section.h:69

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

◆ startTypewriter()

void HtmlGenerator::startTypewriter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 163 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ type()

OutputType HtmlGenerator::type ( ) const
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 121 of file htmlgen.h.

121{ 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 211 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ writeChar()

void HtmlGenerator::writeChar ( char c)
overridevirtual

Implements OutputGenIntf.

Definition at line 2049 of file htmlgen.cpp.

2050{
2051 char cs[2];
2052 cs[0]=c;
2053 cs[1]=0;
2054 docify(cs);
2055}

References docify().

◆ writeDoc()

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

Implements OutputGenIntf.

Definition at line 2781 of file htmlgen.cpp.

2782{
2783 const DocNodeAST *astImpl = dynamic_cast<const DocNodeAST*>(ast);
2784 if (astImpl && sectionLevel<=m_tocState.maxLevel)
2785 {
2786 m_codeList->setId(id);
2787 HtmlDocVisitor visitor(m_t,*m_codeList,ctx,fileName());
2788 std::visit(visitor,astImpl->root);
2789 }
2790}
DocNodeVariant root
Definition docnode.h:1496

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

◆ writeExternalSearchPage()

void HtmlGenerator::writeExternalSearchPage ( )
static

Definition at line 3331 of file htmlgen.cpp.

3332{
3333 bool disableIndex = Config_getBool(DISABLE_INDEX);
3334 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3335 bool fullSidebar = Config_getBool(FULL_SIDEBAR);
3336 bool quickLinksAfterSplitbar = !disableIndex && generateTreeView && fullSidebar;
3337 QCString dname = Config_getString(HTML_OUTPUT);
3338 QCString fileName = dname+"/search"+Doxygen::htmlFileExtension;
3339 std::ofstream f = Portable::openOutputStream(fileName);
3340 if (f.is_open())
3341 {
3342 TextStream t(&f);
3344
3345 t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
3346 << getDoxygenVersion() << " -->\n";
3347 t << "<script type=\"text/javascript\">\n";
3348 t << "let searchBox = new SearchBox(\"searchBox\", \""
3349 << "search/\",'" << Doxygen::htmlFileExtension << "');\n";
3350 t << "</script>\n";
3351
3352 if (!disableIndex && !quickLinksAfterSplitbar)
3353 {
3354 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3355 }
3356 if (generateTreeView)
3357 {
3358 t << "</div><!-- top -->\n";
3359 }
3360 t << writeSplitBarAsString("search.php",QCString(),QCString());
3361 if (quickLinksAfterSplitbar)
3362 {
3363 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3364 }
3365
3366 t << "<div class=\"header\">\n";
3367 t << " <div class=\"headertitle\">\n";
3368 t << " <div class=\"title\">" << theTranslator->trSearchResultsTitle() << "</div>\n";
3369 t << " </div>\n";
3370 t << "</div>\n";
3371 t << "<div class=\"contents\">\n";
3372
3373 t << "<div id=\"searchresults\"></div>\n";
3374 t << "</div>\n";
3375
3376 if (generateTreeView)
3377 {
3378 t << "</div><!-- doc-content -->\n";
3379 t << "</div><!-- container -->\n";
3380 }
3381
3382 writePageFooter(t,"Search","","");
3383
3384 }
3385 f.close();
3386
3387 QCString scriptName = dname+"/search/search.js";
3388 f = Portable::openOutputStream(scriptName);
3389 if (f.is_open())
3390 {
3391 TextStream t(&f);
3392 t << "const searchResultsText=["
3393 << "\"" << theTranslator->trSearchResults(0) << "\","
3394 << "\"" << theTranslator->trSearchResults(1) << "\","
3395 << "\"" << theTranslator->trSearchResults(2) << "\"];\n";
3396 t << "const serverUrl=\"" << Config_getString(SEARCHENGINE_URL) << "\";\n";
3397 t << "const tagMap = {\n";
3398 bool first=TRUE;
3399 // add search mappings
3400 const StringVector &extraSearchMappings = Config_getList(EXTRA_SEARCH_MAPPINGS);
3401 for (const auto &ml : extraSearchMappings)
3402 {
3403 QCString mapLine(ml);
3404 int eqPos = mapLine.find('=');
3405 if (eqPos!=-1) // tag command contains a destination
3406 {
3407 QCString tagName = mapLine.left(eqPos).stripWhiteSpace();
3408 QCString destName = mapLine.right(mapLine.length()-eqPos-1).stripWhiteSpace();
3409 if (!tagName.isEmpty())
3410 {
3411 if (!first) t << ",\n";
3412 t << " \"" << tagName << "\": \"" << destName << "\"";
3413 first=FALSE;
3414 }
3415 }
3416 }
3417 if (!first) t << "\n";
3418 t << "};\n\n";
3419 t << ResourceMgr::instance().getAsString("extsearch.js");
3420 t << "\n";
3421 t << "document.addEventListener('DOMContentLoaded',() => {\n";
3422 t << " const query = trim(getURLParameter('query'));\n";
3423 t << " if (query) {\n";
3424 t << " searchFor(query,0,20);\n";
3425 t << " } else {\n";
3426 t << " const results = document.getElementById('results');\n";
3427 t << " results.innerHtml = '<p>" << theTranslator->trSearchResults(0) << "</p>';\n";
3428 t << " }\n";
3429 t << "});\n";
3430 }
3431 else
3432 {
3433 err("Failed to open file '{}' for writing...\n",scriptName);
3434 }
3435}
static void writePageFooter(TextStream &t, const QCString &, const QCString &, const QCString &)
Definition htmlgen.cpp:1697
static QCString writeSplitBarAsString(const QCString &name, const QCString &relpath, const QCString &allMembersFile)
Definition htmlgen.cpp:3162
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:3003
#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 1703 of file htmlgen.cpp.

1704{
1706}

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

◆ writeFooterFile()

void HtmlGenerator::writeFooterFile ( TextStream & t)
static

Definition at line 1590 of file htmlgen.cpp.

1591{
1592 t << "<!-- HTML footer for doxygen " << getDoxygenVersion() << "-->\n";
1593 t << ResourceMgr::instance().getAsString("footer.html");
1594}

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

Referenced by readConfiguration().

◆ writeGraphicalHierarchy()

void HtmlGenerator::writeGraphicalHierarchy ( DotGfxHierarchyTable & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2661 of file htmlgen.cpp.

2662{
2663 g.writeGraph(m_t,dir(),fileName());
2664}
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 1584 of file htmlgen.cpp.

1585{
1586 t << "<!-- HTML header for doxygen " << getDoxygenVersion() << "-->\n";
1587 t << ResourceMgr::instance().getAsString("header.html");
1588}

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 3646 of file htmlgen.cpp.

3650{
3651 DBG_HTML(m_t << "<!-- writeInheritedSectionTitle -->\n";)
3652 bool dynamicSections = Config_getBool(HTML_DYNAMIC_SECTIONS);
3653 QCString a = anchor;
3654 if (!a.isEmpty()) a.prepend("#");
3655 QCString classLink = QCString("<a class=\"el\" ");
3656 if (!ref.isEmpty())
3657 {
3658 classLink+= externalLinkTarget();
3659 classLink += " href=\"";
3660 classLink+= externalRef(m_relPath,ref,TRUE);
3661 }
3662 else
3663 {
3664 classLink += "href=\"";
3665 classLink+=m_relPath;
3666 }
3667 QCString fn = file;
3669 classLink=classLink+fn+a;
3670 classLink+=QCString("\">")+convertToHtml(name,FALSE)+"</a>";
3671 m_t << "<tr class=\"inherit_header " << id << "\">";
3672 if (dynamicSections)
3673 {
3674 m_t << "<td colspan=\"2\" class=\"dyn-inherit\">";
3675 m_t << "<span class=\"dynarrow\"><span class=\"arrowhead closed\"></span></span>";
3676 }
3677 else
3678 {
3679 m_t << "<td colspan=\"2\">";
3680 }
3682 << "</td></tr>\n";
3683}
QCString & prepend(const char *s)
Definition qcstring.h:422
virtual QCString trInheritedFrom(const QCString &members, const QCString &what)=0

References addHtmlExtensionIfMissing(), Config_getBool, 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 3600 of file htmlgen.cpp.

3601{
3602 DBG_HTML(m_t << "<!-- writeLabel(" << label << ") -->\n";)
3603
3604 auto convertLabelToClass = [](const std::string &lab) {
3605 QCString input = convertUTF8ToLower(lab);
3606 QCString result;
3607 size_t l=input.length();
3608 result.reserve(l);
3609
3610 // Create valid class selector, see 10.2 here https://www.w3.org/TR/selectors-3/#w3cselgrammar
3611 // ident [-]?{nmstart}{nmchar}*
3612 // nmstart [_a-z]|{nonascii}
3613 // nonascii [^\0-\177]
3614 // nmchar [_a-z0-9-]|{nonascii}
3615
3616 bool nmstart=false;
3617 for (size_t i=0; i<l; i++)
3618 {
3619 char c = input.at(i);
3620 if (c<0 || (c>='a' && c<='z') || c=='_') // nmstart pattern
3621 {
3622 nmstart=true;
3623 result+=c;
3624 }
3625 else if (nmstart && (c<0 || (c>='a' && c<='z') || (c>='0' && c<='9') || c=='_')) // nmchar pattern
3626 {
3627 result+=c;
3628 }
3629 else if (nmstart && (c==' ' || c=='-')) // show whitespace as -
3630 {
3631 result+='-';
3632 }
3633 }
3634 return result;
3635 };
3636
3637 m_t << "<span class=\"mlabel " << convertLabelToClass(label.stripWhiteSpace().str()) << "\">" << label << "</span>";
3638}
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 230 of file htmlgen.h.

230{}

◆ writeLogo()

void HtmlGenerator::writeLogo ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1692 of file htmlgen.cpp.

1693{
1695}
static QCString writeLogoAsString(const QCString &path)
Definition htmlgen.cpp:1670

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

◆ writeLogoAsString()

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

Definition at line 1670 of file htmlgen.cpp.

1671{
1672 QCString result;
1673 switch (Config_getEnum(TIMESTAMP))
1674 {
1675 case TIMESTAMP_t::NO:
1676 result = theTranslator->trGeneratedBy();
1677 break;
1678 default:
1679 result = theTranslator->trGeneratedAt("<span class=\"timestamp\"></span>",
1680 convertToHtml(Config_getString(PROJECT_NAME)));
1681 break;
1682 }
1683 result += "&#160;\n<a href=\"https://www.doxygen.org/index.html\">\n"
1684 "<img class=\"footer\" src=\"";
1685 result += path;
1686 result += "doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> ";
1687 result += getDoxygenVersion();
1688 result += " ";
1689 return result;
1690}
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 3201 of file htmlgen.cpp.

3202{
3203 m_t << substitute(s,"$relpath^",m_relPath);
3204}

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

◆ writeNonBreakableSpace()

void HtmlGenerator::writeNonBreakableSpace ( int n)
overridevirtual

Implements OutputGenIntf.

Definition at line 2711 of file htmlgen.cpp.

2712{
2713 for (int i=0; i<n; i++)
2714 {
2715 m_t << "&#160;";
2716 }
2717}

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 1898 of file htmlgen.cpp.

1900{
1901 if (!ref.isEmpty())
1902 {
1903 m_t << "<a class=\"elRef\" ";
1905 }
1906 else
1907 {
1908 m_t << "<a class=\"el\" ";
1909 }
1910 m_t << "href=\"";
1911 QCString fn = f;
1913 m_t << createHtmlUrl(m_relPath,ref,true,
1914 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1915 fn,
1916 anchor);
1917 m_t << "\">";
1918 docify(name);
1919 m_t << "</a>";
1920}

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 1697 of file htmlgen.cpp.

1699{
1700 t << substituteHtmlKeywords(g_footer_file,g_footer,convertToHtml(lastTitle),relPath,navPath);
1701}

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 134 of file htmlgen.h.

134{}

◆ writePageOutline()

void HtmlGenerator::writePageOutline ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3712 of file htmlgen.cpp.

3713{
3714 m_t << "<div id=\"page-nav\" class=\"page-nav-panel\">\n";
3715 m_t << "<div id=\"page-nav-resize-handle\"></div>\n";
3716 m_t << "<div id=\"page-nav-tree\">\n";
3717 m_t << "<div id=\"page-nav-contents\">\n";
3718 m_t << "</div><!-- page-nav-contents -->\n";
3719 m_t << "</div><!-- page-nav-tree -->\n";
3720 m_t << "</div><!-- page-nav -->\n";
3721}

References OutputGenerator::m_t.

◆ writeQuickLinks()

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

Implements OutputGenIntf.

Definition at line 3226 of file htmlgen.cpp.

3227{
3228 writeDefaultQuickLinks(m_t,hli,file,m_relPath,extraTabs);
3229}

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

◆ writeRuler()

void HtmlGenerator::writeRuler ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 210 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ writeSearchData()

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

Definition at line 1416 of file htmlgen.cpp.

1417{
1418 //bool serverBasedSearch = Config_getBool(SERVER_BASED_SEARCH);
1419 //writeImgData(dname,serverBasedSearch ? search_server_data : search_client_data);
1420 ResourceMgr &mgr = ResourceMgr::instance();
1421
1422 QCString searchDirName = dname;
1423 std::ofstream f = Portable::openOutputStream(searchDirName+"/search.css");
1424 if (f.is_open())
1425 {
1426 TextStream t(&f);
1427 QCString searchCss;
1428 // the position of the search box depends on a number of settings.
1429 // Insert the right piece of CSS code depending on which options are selected
1430 if (Config_getBool(GENERATE_TREEVIEW) && Config_getBool(FULL_SIDEBAR))
1431 {
1432 searchCss = mgr.getAsString("search_sidebar.css"); // we have a full height side bar
1433 }
1434 else if (Config_getBool(DISABLE_INDEX))
1435 {
1436 if (Config_getBool(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE)
1437 {
1438 searchCss = mgr.getAsString("search_nomenu_toggle.css"); // we have no tabs but do have a darkmode button
1439 }
1440 else
1441 {
1442 searchCss = mgr.getAsString("search_nomenu.css"); // we have no tabs and no darkmode button
1443 }
1444 }
1445 else if (!Config_getBool(HTML_DYNAMIC_MENUS))
1446 {
1447 searchCss = mgr.getAsString("search_fixedtabs.css"); // we have tabs, but they are static
1448 }
1449 else
1450 {
1451 searchCss = mgr.getAsString("search.css"); // default case with a dynamic menu bar
1452 }
1453 // and then add the option independent part of the styling
1454 searchCss += mgr.getAsString("search_common.css");
1455 searchCss = substitute(searchCss,"$doxygenversion",getDoxygenVersion());
1456 t << replaceVariables(searchCss);
1457 Doxygen::indexList->addStyleSheetFile("search/search.css");
1458 }
1459}
void addStyleSheetFile(const QCString &name)
Definition indexlist.h:126

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 1664 of file htmlgen.cpp.

1665{
1667}
static void writeSearchInfoStatic(TextStream &t, const QCString &relPath)
Definition htmlgen.cpp:1637

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

◆ writeSearchInfoStatic()

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

Definition at line 1637 of file htmlgen.cpp.

1638{
1639 bool searchEngine = Config_getBool(SEARCHENGINE);
1640 bool serverBasedSearch = Config_getBool(SERVER_BASED_SEARCH);
1641 if (searchEngine && !serverBasedSearch)
1642 {
1643 t << "<!-- window showing the filter options -->\n";
1644 t << "<div id=\"MSearchSelectWindow\">\n";
1645 t << "</div>\n";
1646 t << "\n";
1647 t << "<!-- iframe showing the search results (closed by default) -->\n";
1648 t << "<div id=\"MSearchResultsWindow\">\n";
1649 t << "<div id=\"MSearchResults\">\n";
1650 t << "<div class=\"SRPage\">\n";
1651 t << "<div id=\"SRIndex\">\n";
1652 t << "<div id=\"SRResults\"></div>\n"; // here the results will be inserted
1653 t << "<div class=\"SRStatus\" id=\"Loading\">" << theTranslator->trLoading() << "</div>\n";
1654 t << "<div class=\"SRStatus\" id=\"Searching\">" << theTranslator->trSearching() << "</div>\n";
1655 t << "<div class=\"SRStatus\" id=\"NoMatches\">" << theTranslator->trNoMatches() << "</div>\n";
1656 t << "</div>\n"; // SRIndex
1657 t << "</div>\n"; // SRPage
1658 t << "</div>\n"; // MSearchResults
1659 t << "</div>\n"; // MSearchResultsWindow
1660 t << "\n";
1661 }
1662}
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 3232 of file htmlgen.cpp.

3233{
3234 bool disableIndex = Config_getBool(DISABLE_INDEX);
3235 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3236 bool fullSidebar = Config_getBool(FULL_SIDEBAR);
3237 bool quickLinksAfterSplitbar = !disableIndex && generateTreeView && fullSidebar;
3238 QCString projectName = Config_getString(PROJECT_NAME);
3239 QCString htmlOutput = Config_getString(HTML_OUTPUT);
3240
3241 // OPENSEARCH_PROVIDER {
3242 QCString configFileName = htmlOutput+"/search_config.php";
3243 std::ofstream f = Portable::openOutputStream(configFileName);
3244 if (f.is_open())
3245 {
3246 TextStream t(&f);
3247 t << "<?php\n\n";
3248 t << "$config = array(\n";
3249 t << " 'PROJECT_NAME' => \"" << convertToHtml(projectName) << "\",\n";
3250 t << " 'GENERATE_TREEVIEW' => " << (generateTreeView?"true":"false") << ",\n";
3251 t << " 'DISABLE_INDEX' => " << (disableIndex?"true":"false") << ",\n";
3252 t << " 'FULL_SIDEBAR' => " << (fullSidebar?"true":"false") << ",\n";
3253 t << ");\n\n";
3254 t << "$translator = array(\n";
3255 t << " 'search_results_title' => \"" << theTranslator->trSearchResultsTitle() << "\",\n";
3256 t << " 'search_results' => array(\n";
3257 t << " 0 => \"" << theTranslator->trSearchResults(0) << "\",\n";
3258 t << " 1 => \"" << theTranslator->trSearchResults(1) << "\",\n";
3259 t << " 2 => \"" << substitute(theTranslator->trSearchResults(2), "$", "\\$") << "\",\n";
3260 t << " ),\n";
3261 t << " 'search_matches' => \"" << theTranslator->trSearchMatches() << "\",\n";
3262 t << " 'search' => \"" << theTranslator->trSearch() << "\",\n";
3263 t << " 'logo' => \"" << substitute(substitute(writeLogoAsString(""), "\"","\\\""), "\n","\\n") << "\",\n";
3264 t << ");\n\n";
3265 t << "?>\n";
3266 }
3267 f.close();
3268
3269 ResourceMgr::instance().copyResource("search_functions.php",htmlOutput);
3270 ResourceMgr::instance().copyResource("search_opensearch.php",htmlOutput);
3271 // OPENSEARCH_PROVIDER }
3272
3273 QCString fileName = htmlOutput+"/search.php";
3275 if (f.is_open())
3276 {
3277 TextStream t(&f);
3279
3280 t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
3281 << getDoxygenVersion() << " -->\n";
3282 t << "<script type=\"text/javascript\">\n";
3283 t << "let searchBox = new SearchBox(\"searchBox\", \""
3284 << "search/\",'" << Doxygen::htmlFileExtension << "');\n";
3285 t << "</script>\n";
3286
3287 if (!disableIndex && !quickLinksAfterSplitbar)
3288 {
3289 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3290 }
3291 if (generateTreeView)
3292 {
3293 t << "</div><!-- top -->\n";
3294 }
3295 t << writeSplitBarAsString("search.php",QCString(),QCString());
3296 if (quickLinksAfterSplitbar)
3297 {
3298 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3299 }
3300 t << "<!-- generated -->\n";
3301
3302 t << "<?php\n";
3303 t << "require_once \"search_functions.php\";\n";
3304 t << "main();\n";
3305 t << "?>\n";
3306
3307 // Write empty navigation path, to make footer connect properly
3308 if (generateTreeView)
3309 {
3310 t << "</div><!-- doc-content -->\n";
3311 t << "</div><!-- container -->\n";
3312 }
3313
3314 writePageFooter(t,"Search","","");
3315 }
3316 f.close();
3317
3318 QCString scriptName = htmlOutput+"/search/search.js";
3319 f = Portable::openOutputStream(scriptName);
3320 if (f.is_open())
3321 {
3322 TextStream t(&f);
3323 t << ResourceMgr::instance().getAsString("extsearch.js");
3324 }
3325 else
3326 {
3327 err("Failed to open file '{}' for writing...\n",scriptName);
3328 }
3329}
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 3196 of file htmlgen.cpp.

3197{
3198 m_t << writeSplitBarAsString(name,m_relPath,allMembersFile);
3199}

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 3162 of file htmlgen.cpp.

3163{
3164 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3165 QCString result;
3166 // write split bar
3167 if (generateTreeView)
3168 {
3169 QCString fn = name;
3171 if (!Config_getBool(FULL_SIDEBAR))
3172 {
3173 result += QCString(
3174 "<div id=\"side-nav\" class=\"ui-resizable side-nav-resizable\">\n");
3175 }
3176 result+=
3177 " <div id=\"nav-tree\">\n"
3178 " <div id=\"nav-tree-contents\">\n"
3179 " <div id=\"nav-sync\" class=\"sync\"></div>\n"
3180 " </div>\n"
3181 " </div>\n"
3182 " <div id=\"splitbar\" class=\"ui-resizable-handle\">\n"
3183 " </div>\n"
3184 "</div>\n"
3185 "<script type=\"text/javascript\">\n"
3186 "document.addEventListener('DOMContentLoaded',() => { initNavTree('" + fn + "','" + relpath + "','" + allMembersFile + "'); });\n"
3187 "</script>\n";
3188 if (Config_getBool(DISABLE_INDEX) || !Config_getBool(FULL_SIDEBAR))
3189 {
3190 result+="<div id=\"container\">\n<div id=\"doc-content\">\n";
3191 }
3192 }
3193 return result;
3194}

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 1886 of file htmlgen.cpp.

1888{
1889 m_t << "<li>";
1890 if (!path.isEmpty()) docify(path);
1891 QCString fn = f;
1893 m_t << "<a class=\"el\" href=\"" << fn << "\">";
1894 docify(name);
1895 m_t << "</a> ";
1896}

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

◆ writeString()

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

Implements OutputGenIntf.

Definition at line 1828 of file htmlgen.cpp.

1829{
1830 m_t << text;
1831}

References OutputGenerator::m_t.

◆ writeStyleInfo()

void HtmlGenerator::writeStyleInfo ( int part)
overridevirtual

Implements OutputGenIntf.

Definition at line 1723 of file htmlgen.cpp.

1724{
1725 //printf("writeStyleInfo(%d)\n",part);
1726 if (part==0)
1727 {
1728 if (Config_getString(HTML_STYLESHEET).isEmpty()) // write default style sheet
1729 {
1730 //printf("write doxygen.css\n");
1731 startPlainFile("doxygen.css");
1733 endPlainFile();
1734 Doxygen::indexList->addStyleSheetFile("doxygen.css");
1735 }
1736 else // write user defined style sheet
1737 {
1738 QCString cssName=Config_getString(HTML_STYLESHEET);
1739 if (!cssName.startsWith("http:") && !cssName.startsWith("https:"))
1740 {
1741 FileInfo cssfi(cssName.str());
1742 if (!cssfi.exists() || !cssfi.isFile() || !cssfi.isReadable())
1743 {
1744 err("style sheet {} does not exist or is not readable!\n", Config_getString(HTML_STYLESHEET));
1745 }
1746 else
1747 {
1748 // convert style sheet to string
1749 QCString fileStr = fileToString(cssName);
1750 // write the string into the output dir
1751 startPlainFile(cssfi.fileName());
1752 m_t << fileStr;
1753 endPlainFile();
1754 }
1755 Doxygen::indexList->addStyleSheetFile(cssfi.fileName());
1756 }
1757 }
1758 const StringVector &extraCssFiles = Config_getList(HTML_EXTRA_STYLESHEET);
1759 for (const auto &fileName : extraCssFiles)
1760 {
1761 if (!fileName.empty())
1762 {
1763 FileInfo fi(fileName);
1764 if (fi.exists())
1765 {
1766 Doxygen::indexList->addStyleSheetFile(fi.fileName());
1767 }
1768 }
1769 }
1770
1771 Doxygen::indexList->addStyleSheetFile("navtree.css");
1772
1773 if (Config_getBool(HTML_DYNAMIC_SECTIONS))
1774 {
1775 Doxygen::indexList->addStyleSheetFile("dynsections.js");
1776 }
1777 if (Config_getBool(HTML_CODE_FOLDING))
1778 {
1779 Doxygen::indexList->addStyleSheetFile("codefolding.js");
1780 }
1781
1782 if (Config_getEnum(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE)
1783 {
1784 Doxygen::indexList->addStyleSheetFile("darkmode_toggle.js");
1785 }
1786
1787 if (Config_getBool(INTERACTIVE_SVG))
1788 {
1790 }
1791
1792 if (!Config_getBool(DISABLE_INDEX) && Config_getBool(HTML_DYNAMIC_MENUS))
1793 {
1795 Doxygen::indexList->addStyleSheetFile("menudata.js");
1796 }
1797 }
1798}
bool startsWith(const char *s) const
Definition qcstring.h:507
static void writeDefaultStyleSheet(TextStream &t)
Definition htmlgen.cpp:1461

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 1578 of file htmlgen.cpp.

1579{
1582}

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 3685 of file htmlgen.cpp.

3686{
3687 if (first)
3688 {
3689 m_t << " <div class=\"summary\">\n";
3690 }
3691 else
3692 {
3693 m_t << " &#124;\n";
3694 }
3695 m_t << "<a href=\"";
3696 if (!file.isEmpty())
3697 {
3698 QCString fn = file;
3700 m_t << m_relPath << fn;
3701 }
3702 else if (!anchor.isEmpty())
3703 {
3704 m_t << "#";
3705 m_t << anchor;
3706 }
3707 m_t << "\">";
3708 m_t << title;
3709 m_t << "</a>";
3710}

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

◆ writeSynopsis()

void HtmlGenerator::writeSynopsis ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 244 of file htmlgen.h.

244{}

◆ writeTabData()

void HtmlGenerator::writeTabData ( )
static

Additional initialization after indices have been created.

Definition at line 1407 of file htmlgen.cpp.

1408{
1410 QCString dname=Config_getString(HTML_OUTPUT);
1411 ResourceMgr &mgr = ResourceMgr::instance();
1412 mgr.copyResource("doxygen.svg",dname);
1413 Doxygen::indexList->addImageFile("doxygen.svg");
1414}
void addImageFile(const QCString &name)
Definition indexlist.h:123

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 351 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 350 of file htmlgen.h.

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

◆ m_emptySection

◆ m_lastFile

QCString HtmlGenerator::m_lastFile
private

Definition at line 346 of file htmlgen.h.

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

◆ m_lastTitle

QCString HtmlGenerator::m_lastTitle
private

Definition at line 345 of file htmlgen.h.

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

◆ m_pageOutlineIndent

int HtmlGenerator::m_pageOutlineIndent = 0
private

Definition at line 352 of file htmlgen.h.

◆ m_relPath

◆ m_sectionCount

◆ m_tocState

TocState HtmlGenerator::m_tocState
private

Definition at line 364 of file htmlgen.h.

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


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