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:

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) override
 
void startFile (const QCString &name, 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 (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 (bool) override
 
void endMemberGroupHeader () override
 
void startMemberGroupDocs () override
 
void endMemberGroupDocs () override
 
void startMemberGroup () override
 
void endMemberGroup (bool) override
 
void insertMemberAlign (bool) override
 
void insertMemberAlignLeft (MemberItemType, bool) override
 
void startMemberDescription (const QCString &anchor, const QCString &inheritId, bool typ) override
 
void endMemberDescription () override
 
void startMemberDeclaration () override
 
void endMemberDeclaration (const QCString &anchor, const QCString &inheritId) override
 
void writeInheritedSectionTitle (const QCString &id, const QCString &ref, const QCString &file, const QCString &anchor, const QCString &title, const QCString &name) override
 
void writeRuler () override
 
void writeAnchor (const QCString &, const QCString &name) override
 
void startEmphasis () override
 
void endEmphasis () override
 
void startBold () override
 
void endBold () override
 
void startDescForItem () override
 
void endDescForItem () override
 
void lineBreak (const QCString &style) override
 
void writeChar (char c) override
 
void startMemberDoc (const QCString &clName, const QCString &memName, const QCString &anchor, const QCString &title, int memCount, int memTotal, bool showInline) override
 
void endMemberDoc (bool) override
 
void startDoxyAnchor (const QCString &fName, const QCString &manName, const QCString &anchor, const QCString &name, const QCString &args) override
 
void endDoxyAnchor (const QCString &fName, const QCString &anchor) override
 
void addLabel (const QCString &, const QCString &) override
 
void writeLatexSpacing () override
 
void writeStartAnnoItem (const QCString &type, const QCString &file, const QCString &path, const QCString &name) override
 
void startCenter () override
 
void endCenter () override
 
void startSmall () override
 
void endSmall () override
 
void startExamples () override
 
void endExamples () override
 
void startSection (const QCString &, const QCString &, SectionType) override
 
void endSection (const QCString &, SectionType) override
 
void addIndexItem (const QCString &, const QCString &) override
 
void startIndent () override
 
void endIndent () override
 
void writeSynopsis () override
 
void startClassDiagram () override
 
void endClassDiagram (const ClassDiagram &, const QCString &, const QCString &) override
 
void startPageRef () override
 
void endPageRef (const QCString &, const QCString &) override
 
void startQuickIndices () override
 
void endQuickIndices () override
 
void writeSplitBar (const QCString &name) override
 
void writeNavigationPath (const QCString &s) override
 
void writeLogo () override
 
void writeQuickLinks (HighlightedItem hli, const QCString &file) override
 
void writeSummaryLink (const QCString &file, const QCString &anchor, const QCString &title, bool first) 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) override
 
void endDescTable () override
 
void startDescTableRow () override
 
void endDescTableRow () override
 
void startDescTableTitle () override
 
void endDescTableTitle () 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 writeLocalToc (const SectionRefs &sr, const LocalToc &lt) override
 
void startPlainFile (const QCString &name) override
 
void endPlainFile () override
 
- Public Member Functions inherited from OutputGenerator
 OutputGenerator ()
 
 OutputGenerator (const QCString &dir)
 
virtual ~OutputGenerator ()=default
 
QCString dir () const
 
QCString fileName () const
 
void startPlainFile (const QCString &name)
 
void endPlainFile ()
 

Static Public Member Functions

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

Private Member Functions

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

Static Private Member Functions

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

Private Attributes

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

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

Constructor & Destructor Documentation

◆ HtmlGenerator() [1/3]

HtmlGenerator::HtmlGenerator ( )

Definition at line 1058 of file htmlgen.cpp.

1059 : OutputGenerator(Config_getString(HTML_OUTPUT))
1060 , m_codeList(std::make_unique<OutputCodeList>())
1061{
1062 //printf("%p:HtmlGenerator()\n",(void*)this);
1064}
Generator for HTML code fragments.
Definition htmlgen.h:25
HtmlCodeGenerator * m_codeGen
Definition htmlgen.h:322
std::unique_ptr< OutputCodeList > m_codeList
Definition htmlgen.h:321
TextStream m_t
Definition outputgen.h:112
#define Config_getString(name)
Definition config.h:32

References m_codeGen, m_codeList, and OutputGenerator::m_t.

◆ HtmlGenerator() [2/3]

HtmlGenerator::HtmlGenerator ( const HtmlGenerator & og)

Definition at line 1066 of file htmlgen.cpp.

1067{
1068 //printf("%p:HtmlGenerator(copy %p)\n",(void*)this,(void*)&og);
1069 m_codeList = std::make_unique<OutputCodeList>(*og.m_codeList);
1074 m_relPath = og.m_relPath;
1077}
void setTextStream(TextStream *t)
Definition htmlgen.h:30
int m_sectionCount
Definition htmlgen.h:319
QCString m_lastFile
Definition htmlgen.h:317
QCString m_relPath
Definition htmlgen.h:318
bool m_emptySection
Definition htmlgen.h:320
QCString m_lastTitle
Definition htmlgen.h:316
Abstract interface for output generators.
Definition outputgen.h:123
QCString m_dir
Definition outputgen.h:113

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

◆ HtmlGenerator() [3/3]

HtmlGenerator::HtmlGenerator ( HtmlGenerator && )
delete

◆ ~HtmlGenerator()

HtmlGenerator::~HtmlGenerator ( )
default

Member Function Documentation

◆ addCodeGen()

void HtmlGenerator::addCodeGen ( OutputCodeList & list)
overridevirtual

Implements OutputGenIntf.

Definition at line 1099 of file htmlgen.cpp.

1100{
1102}
Helper template class which defers all methods of OutputCodeIntf to an existing object of the templat...
Definition outputlist.h:46
void add(OutputCodeIntfPtr &&p)
Definition outputlist.h:183

References OutputCodeList::add(), and m_codeGen.

◆ addIndexItem()

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

Implements OutputGenIntf.

Definition at line 2535 of file htmlgen.cpp.

2536{
2537}

◆ addLabel()

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

Implements OutputGenIntf.

Definition at line 1658 of file htmlgen.cpp.

1659{
1660}

◆ cleanup()

void HtmlGenerator::cleanup ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1252 of file htmlgen.cpp.

1253{
1254 QCString dname = Config_getString(HTML_OUTPUT);
1255 Dir d(dname.str());
1256 clearSubDirs(d);
1257}
Class representing a directory in the file system.
Definition dir.h:75
This is an alternative implementation of QCString.
Definition qcstring.h:94
const std::string & str() const
Definition qcstring.h:517
void clearSubDirs(const Dir &d)
Definition util.cpp:3960

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

◆ clearBuffer()

void HtmlGenerator::clearBuffer ( )

◆ clone()

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

Implements OutputGenIntf.

Definition at line 102 of file htmlgen.h.

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

◆ docify()

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

Implements OutputGenIntf.

Definition at line 1849 of file htmlgen.cpp.

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

1855{
1856 if (!str.isEmpty())
1857 {
1858 const char *p=str.data();
1859 while (*p)
1860 {
1861 char c=*p++;
1862 switch(c)
1863 {
1864 case '<': m_t << "&lt;"; break;
1865 case '>': m_t << "&gt;"; break;
1866 case '&': m_t << "&amp;"; break;
1867 case '"': m_t << "&quot;"; break;
1868 case '-': if (inHtmlComment) m_t << "&#45;"; else m_t << "-"; break;
1869 case '\\':
1870 if (*p=='<')
1871 { m_t << "&lt;"; p++; }
1872 else if (*p=='>')
1873 { m_t << "&gt;"; p++; }
1874 else if (*p=='(')
1875 { m_t << "\\&zwj;("; p++; }
1876 else if (*p==')')
1877 { m_t << "\\&zwj;)"; p++; }
1878 else
1879 m_t << "\\";
1880 break;
1881 default: m_t << c;
1882 }
1883 }
1884 }
1885}

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

Referenced by docify().

◆ endAnonTypeScope()

void HtmlGenerator::endAnonTypeScope ( int )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 165 of file htmlgen.h.

165{}

◆ endBold()

void HtmlGenerator::endBold ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 196 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endCallGraph()

void HtmlGenerator::endCallGraph ( DotCallGraph & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2458 of file htmlgen.cpp.

2459{
2464
2466
2469}
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
@ EOF_Html
Definition dotgraph.h:30
@ GOF_BITMAP
Definition dotgraph.h:29
static void startSectionContent(TextStream &t, int sectionCount)
Definition htmlgen.cpp:1945
static void startSectionSummary(TextStream &t, int sectionCount)
Definition htmlgen.cpp:1923
static void endSectionContent(TextStream &t)
Definition htmlgen.cpp:1961
static void endSectionHeader(TextStream &t)
Definition htmlgen.cpp:1917
static void endSectionSummary(TextStream &t)
Definition htmlgen.cpp:1935
#define TRUE
Definition qcstring.h:37

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

◆ endCenter()

void HtmlGenerator::endCenter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 214 of file htmlgen.h.

214{ 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 1974 of file htmlgen.cpp.

1976{
1981 TextStream tt;
1983 if (!tt.empty())
1984 {
1985 m_t << " <div class=\"center\">\n";
1986 m_t << " <img src=\"";
1987 m_t << m_relPath << fileName << ".png\" usemap=\"#" << convertToId(name);
1988 m_t << "_map\" alt=\"\"/>\n";
1989 m_t << " <map id=\"" << convertToId(name);
1990 m_t << "_map\" name=\"" << convertToId(name);
1991 m_t << "_map\">\n";
1992 m_t << tt.str();
1993 m_t << " </map>\n";
1994 m_t << "</div>";
1995 }
1996 else
1997 {
1998 m_t << " <div class=\"center\">\n";
1999 m_t << " <img src=\"";
2000 m_t << m_relPath << fileName << ".png\" alt=\"\"/>\n";
2001 m_t << " </div>";
2002 }
2005}
void writeImage(TextStream &t, const QCString &path, const QCString &relPath, const QCString &file, bool generateMap=true) const
Definition diagram.cpp:1364
Text streaming class that buffers data.
Definition textstream.h:36
bool empty() const
Returns true iff the buffer is empty.
Definition textstream.h:253
std::string str() const
Return the contents of the buffer as a std::string object.
Definition textstream.h:229
QCString convertToId(const QCString &s)
Definition util.cpp:4165

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

2074{
2075 m_t << "</div>";
2076}

References OutputGenerator::m_t.

◆ endConstraintDocs()

void HtmlGenerator::endConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3263 of file htmlgen.cpp.

3264{
3265 m_t << "</td></tr>\n";
3266}

References OutputGenerator::m_t.

◆ endConstraintList()

void HtmlGenerator::endConstraintList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3268 of file htmlgen.cpp.

3269{
3270 m_t << "</table>\n";
3271 m_t << "</dd>\n";
3272 m_t << "</dl>\n";
3273 m_t << "</div>\n";
3274}

References OutputGenerator::m_t.

◆ endConstraintParam()

void HtmlGenerator::endConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3243 of file htmlgen.cpp.

3244{
3245 m_t << "</em></td>";
3246}

References OutputGenerator::m_t.

◆ endConstraintType()

void HtmlGenerator::endConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3253 of file htmlgen.cpp.

3254{
3255 m_t << "</em></td>";
3256}

References OutputGenerator::m_t.

◆ endContents()

void HtmlGenerator::endContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3009 of file htmlgen.cpp.

3010{
3011 m_t << "</div><!-- contents -->\n";
3012}

References OutputGenerator::m_t.

◆ endDescForItem()

void HtmlGenerator::endDescForItem ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 198 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endDescTable()

void HtmlGenerator::endDescTable ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2552 of file htmlgen.cpp.

2553{
2554 m_t << "</table>\n";
2555}

References OutputGenerator::m_t.

◆ endDescTableData()

void HtmlGenerator::endDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2582 of file htmlgen.cpp.

2583{
2584 m_t << "</td>";
2585}

References OutputGenerator::m_t.

◆ endDescTableRow()

void HtmlGenerator::endDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2562 of file htmlgen.cpp.

2563{
2564 m_t << "</tr>\n";
2565}

References OutputGenerator::m_t.

◆ endDescTableTitle()

void HtmlGenerator::endDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2572 of file htmlgen.cpp.

2573{
2574 m_t << "&#160;</td>";
2575}

References OutputGenerator::m_t.

◆ endDirDepGraph()

void HtmlGenerator::endDirDepGraph ( DotDirDeps & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2476 of file htmlgen.cpp.

2477{
2482
2484
2487}
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 OutputGenerator::dir(), endSectionContent(), endSectionHeader(), endSectionSummary(), EOF_Html, OutputGenerator::fileName(), GOF_BITMAP, 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 2388 of file htmlgen.cpp.

2389{
2390 bool generateLegend = Config_getBool(GENERATE_LEGEND);
2391 bool umlLook = Config_getBool(UML_LOOK);
2396
2398 if (generateLegend && !umlLook)
2399 {
2400 QCString url = m_relPath+"graph_legend"+Doxygen::htmlFileExtension;
2401 m_t << "<center><span class=\"legend\">[";
2402 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
2403 m_t << "<a ";
2404 if (generateTreeView) m_t << "target=\"top\" ";
2405 m_t << "href=\"";
2406 if (!url.isEmpty()) m_t << url;
2407 m_t << "\">";
2409 m_t << "</a>";
2410 m_t << "]</span></center>";
2411 }
2412
2415}
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:112
bool isEmpty() const
Returns TRUE iff the string is empty.
Definition qcstring.h:143
virtual QCString trLegend()=0
#define Config_getBool(name)
Definition config.h:33
Translator * theTranslator
Definition language.cpp:71

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

◆ endDoxyAnchor()

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

Implements OutputGenIntf.

Definition at line 1654 of file htmlgen.cpp.

1655{
1656}

◆ endEmphasis()

void HtmlGenerator::endEmphasis ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 194 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endExamples()

void HtmlGenerator::endExamples ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2594 of file htmlgen.cpp.

2595{
2596 m_t << "</dl>\n";
2597}

References OutputGenerator::m_t.

◆ endFile()

void HtmlGenerator::endFile ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1560 of file htmlgen.cpp.

1561{
1562 endPlainFile();
1563}
void endPlainFile() override
Definition htmlgen.h:308

References endPlainFile().

◆ endGroupCollaboration()

void HtmlGenerator::endGroupCollaboration ( DotGroupCollaboration & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2440 of file htmlgen.cpp.

2441{
2446
2448
2451}
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool writeImageMap=TRUE, int graphId=-1)

References OutputGenerator::dir(), endSectionContent(), endSectionHeader(), endSectionSummary(), EOF_Html, OutputGenerator::fileName(), GOF_BITMAP, 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 1802 of file htmlgen.cpp.

1803{
1804 if (extraIndentLevel==2)
1805 {
1806 m_t << "</h4>\n";
1807 }
1808 else if (extraIndentLevel==1)
1809 {
1810 m_t << "</h3>\n";
1811 }
1812 else
1813 {
1814 m_t << "</h2>\n";
1815 }
1816}

References OutputGenerator::m_t.

◆ endHeaderSection()

void HtmlGenerator::endHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3305 of file htmlgen.cpp.

3306{
3307 m_t << "</div><!--header-->\n";
3308}

References OutputGenerator::m_t.

◆ endInclDepGraph()

void HtmlGenerator::endInclDepGraph ( DotInclDepGraph & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2422 of file htmlgen.cpp.

2423{
2428
2430
2433}
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool writeImageMap=TRUE, int graphId=-1)

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

◆ endIndent()

void HtmlGenerator::endIndent ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2529 of file htmlgen.cpp.

2530{
2531 DBG_HTML(m_t << "<!-- endIndent -->\n";)
2532 m_t << "\n</div>\n" << "</div>\n";
2533}
#define DBG_HTML(x)
Definition htmlgen.cpp:61

References DBG_HTML, and OutputGenerator::m_t.

◆ endIndexItem()

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

Implements OutputGenIntf.

Definition at line 1720 of file htmlgen.cpp.

1721{
1722 //printf("HtmlGenerator::endIndexItem(%s,%s,%s)\n",ref,f,name);
1723 if (!ref.isEmpty() || !f.isEmpty())
1724 {
1725 m_t << "</a>";
1726 }
1727 else
1728 {
1729 m_t << "</b>";
1730 }
1731}

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

◆ endIndexKey()

void HtmlGenerator::endIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2192 of file htmlgen.cpp.

2193{
2194 //m_t << "</td>";
2195}

◆ endIndexList()

void HtmlGenerator::endIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2182 of file htmlgen.cpp.

2183{
2184 m_t << "</table>\n";
2185}

References OutputGenerator::m_t.

◆ endIndexListItem()

void HtmlGenerator::endIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1685 of file htmlgen.cpp.

1686{
1687 m_t << "</li>\n";
1688}

References OutputGenerator::m_t.

◆ endIndexSection()

void HtmlGenerator::endIndexSection ( IndexSection )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 113 of file htmlgen.h.

113{}

◆ endIndexValue()

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

Implements OutputGenIntf.

Definition at line 2202 of file htmlgen.cpp.

2203{
2204 //m_t << "</td></tr>\n";
2205}

◆ endInlineHeader()

void HtmlGenerator::endInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3320 of file htmlgen.cpp.

3321{
3322 m_t << "</h3></td></tr>\n";
3323}

References OutputGenerator::m_t.

◆ endInlineMemberDoc()

void HtmlGenerator::endInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3370 of file htmlgen.cpp.

3371{
3372 DBG_HTML(m_t << "<!-- endInlineMemberDoc -->\n";)
3373 m_t << "</td></tr>\n";
3374}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberName()

void HtmlGenerator::endInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3358 of file htmlgen.cpp.

3359{
3360 DBG_HTML(m_t << "<!-- endInlineMemberName -->\n";)
3361 m_t << "</td>\n";
3362}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberType()

void HtmlGenerator::endInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3346 of file htmlgen.cpp.

3347{
3348 DBG_HTML(m_t << "<!-- endInlineMemberType -->\n";)
3349 m_t << "</td>\n";
3350}

References DBG_HTML, and OutputGenerator::m_t.

◆ endItemList()

void HtmlGenerator::endItemList ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 133 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endItemListItem()

void HtmlGenerator::endItemListItem ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 148 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endLabels()

void HtmlGenerator::endLabels ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3390 of file htmlgen.cpp.

3391{
3392 DBG_HTML(m_t << "<!-- endLabels -->\n";)
3393 m_t << "</span>";
3394}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDeclaration()

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

Implements OutputGenIntf.

Definition at line 3454 of file htmlgen.cpp.

3455{
3456 m_t << "<tr class=\"separator:" << anchor;
3457 if (!inheritId.isEmpty())
3458 {
3459 m_t << " inherit " << inheritId;
3460 }
3461 m_t << "\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n";
3462}

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

◆ endMemberDescription()

void HtmlGenerator::endMemberDescription ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2116 of file htmlgen.cpp.

2117{
2118 DBG_HTML(m_t << "<!-- endMemberDescription -->\n")
2119 m_t << "<br /></td></tr>\n";
2120}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDoc()

void HtmlGenerator::endMemberDoc ( bool hasArgs)
overridevirtual

Implements OutputGenIntf.

Definition at line 2372 of file htmlgen.cpp.

2373{
2374 DBG_HTML(m_t << "<!-- endMemberDoc -->\n";)
2375 if (!hasArgs)
2376 {
2377 m_t << " </tr>\n";
2378 }
2379 m_t << " </table>\n";
2380 // m_t << "</div>\n";
2381}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocList()

void HtmlGenerator::endMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2212 of file htmlgen.cpp.

2213{
2214 DBG_HTML(m_t << "<!-- endMemberDocList -->\n";)
2215}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocName()

void HtmlGenerator::endMemberDocName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2256 of file htmlgen.cpp.

2257{
2258 DBG_HTML(m_t << "<!-- endMemberDocName -->\n";)
2259 m_t << "</td>\n";
2260}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocPrefixItem()

void HtmlGenerator::endMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2240 of file htmlgen.cpp.

2241{
2242 DBG_HTML(m_t << "<!-- endMemberDocPrefixItem -->\n";)
2243 m_t << "</div>\n";
2244}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocSimple()

void HtmlGenerator::endMemberDocSimple ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 3334 of file htmlgen.cpp.

3335{
3336 DBG_HTML(m_t << "<!-- endMemberDocSimple -->\n";)
3337 m_t << "</table>\n";
3338}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberGroup()

void HtmlGenerator::endMemberGroup ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2518 of file htmlgen.cpp.

2519{
2520}

◆ endMemberGroupDocs()

void HtmlGenerator::endMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2509 of file htmlgen.cpp.

2510{
2511 m_t << "</div></td></tr>\n";
2512}

References OutputGenerator::m_t.

◆ endMemberGroupHeader()

void HtmlGenerator::endMemberGroupHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2499 of file htmlgen.cpp.

2500{
2501 m_t << "</div></td></tr>\n";
2502}

References OutputGenerator::m_t.

◆ endMemberHeader()

void HtmlGenerator::endMemberHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2159 of file htmlgen.cpp.

2160{
2161 DBG_HTML(m_t << "<!-- endMemberHeader -->\n")
2162 m_t << "</h2></td></tr>\n";
2163}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberItem()

void HtmlGenerator::endMemberItem ( MemberItemType type)
overridevirtual

Implements OutputGenIntf.

Definition at line 2044 of file htmlgen.cpp.

2045{
2047 {
2048 insertMemberAlign(false);
2049 }
2050 m_t << "</td></tr>\n";
2051}
OutputType type() const override
Definition htmlgen.h:101
void insertMemberAlign(bool) override
Definition htmlgen.cpp:2078

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

◆ endMemberList()

void HtmlGenerator::endMemberList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2013 of file htmlgen.cpp.

2014{
2015 DBG_HTML(m_t << "<!-- endMemberList -->\n")
2016}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberSections()

void HtmlGenerator::endMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2130 of file htmlgen.cpp.

2131{
2132 DBG_HTML(m_t << "<!-- endMemberSections -->\n")
2134 {
2135 m_t << "</table>\n";
2136 }
2137}
if(strLen >35 &&floatingIndex >30 &&autoBreak)
Definition util.cpp:948

References DBG_HTML, m_emptySection, and OutputGenerator::m_t.

◆ endMemberSubtitle()

void HtmlGenerator::endMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2171 of file htmlgen.cpp.

2172{
2173 DBG_HTML(m_t << "<!-- endMemberSubtitle -->\n")
2174 m_t << "</td></tr>\n";
2175}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberTemplateParams()

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

Implements OutputGenIntf.

Definition at line 2057 of file htmlgen.cpp.

2058{
2059 m_t << "</td></tr>\n";
2060 m_t << "<tr class=\"memitem:" << anchor;
2061 if (!inheritId.isEmpty())
2062 {
2063 m_t << " inherit " << inheritId;
2064 }
2065 m_t << "\"><td class=\"memTemplItemLeft\" align=\"right\" valign=\"top\">";
2066}

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

◆ endPageDoc()

void HtmlGenerator::endPageDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3019 of file htmlgen.cpp.

3020{
3021 m_t << "</div><!-- PageDoc -->\n";
3022}

References OutputGenerator::m_t.

◆ endPageRef()

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

Implements OutputGenIntf.

Definition at line 228 of file htmlgen.h.

228{}

◆ endParagraph()

void HtmlGenerator::endParagraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1670 of file htmlgen.cpp.

1671{
1672 m_t << "</p>\n";
1673}

References OutputGenerator::m_t.

◆ endParameterDefVal()

void HtmlGenerator::endParameterDefVal ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2341 of file htmlgen.cpp.

2342{
2343 m_t << "</span>";
2344}

References OutputGenerator::m_t.

◆ endParameterExtra()

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

Implements OutputGenIntf.

Definition at line 2310 of file htmlgen.cpp.

2311{
2312 DBG_HTML(m_t << "<!-- endParameterExtra -->\n";)
2313 if (last)
2314 {
2315 if (emptyList)
2316 {
2317 if (closeBracket) m_t << "</td><td>)";
2318 m_t << "</td>\n";
2319 m_t << " <td>";
2320 }
2321 else
2322 {
2323 m_t << "&#160;";
2324 if (closeBracket) m_t << ")";
2325 }
2326 }
2327 else
2328 {
2329 m_t << "</td>\n";
2330 m_t << " </tr>\n";
2331 }
2332}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterList()

void HtmlGenerator::endParameterList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2346 of file htmlgen.cpp.

2347{
2348 DBG_HTML(m_t << "<!-- endParameterList -->\n";)
2349 m_t << "</td>\n";
2350 m_t << " </tr>\n";
2351}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterName()

void HtmlGenerator::endParameterName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2299 of file htmlgen.cpp.

2300{
2301 DBG_HTML(m_t << "<!-- endParameterName -->\n";)
2302 m_t << "</em></span>";
2303}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterType()

void HtmlGenerator::endParameterType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2287 of file htmlgen.cpp.

2288{
2289 DBG_HTML(m_t << "<!-- endParameterType -->\n";)
2290 m_t << "</td>";
2291}

References DBG_HTML, and OutputGenerator::m_t.

◆ endPlainFile()

void HtmlGenerator::endPlainFile ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 308 of file htmlgen.h.

References OutputGenerator::endPlainFile().

Referenced by endFile(), and writeStyleInfo().

◆ endProjectNumber()

void HtmlGenerator::endProjectNumber ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1570 of file htmlgen.cpp.

1571{
1572 m_t << "</h3>";
1573}

References OutputGenerator::m_t.

◆ endQuickIndices()

void HtmlGenerator::endQuickIndices ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2940 of file htmlgen.cpp.

2941{
2942 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
2943 m_t << "</div><!-- top -->\n";
2944 if (!generateTreeView)
2945 {
2946 m_t << "<div id=\"doc-content\">\n";
2947 }
2948}

References Config_getBool, and OutputGenerator::m_t.

◆ endSection()

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

Implements OutputGenIntf.

Definition at line 1834 of file htmlgen.cpp.

1835{
1836 switch(type.level())
1837 {
1838 case SectionType::Page: m_t << "</h1>"; break;
1839 case SectionType::Section: m_t << "</h2>"; break;
1840 case SectionType::Subsection: m_t << "</h3>"; break;
1841 case SectionType::Subsubsection: m_t << "</h4>"; break;
1842 case SectionType::Paragraph: m_t << "</h5>"; break;
1843 case SectionType::Subparagraph: m_t << "</h6>"; break;
1844 case SectionType::Subsubparagraph: m_t << "</h6>"; break;
1845 default: ASSERT(0); break;
1846 }
1847}
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 216 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endTextBlock()

void HtmlGenerator::endTextBlock ( bool )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 264 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endTextLink()

void HtmlGenerator::endTextLink ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1781 of file htmlgen.cpp.

1782{
1783 m_t << "</a>";
1784}

References OutputGenerator::m_t.

◆ endTitle()

void HtmlGenerator::endTitle ( )
inlineprivate

Definition at line 312 of file htmlgen.h.

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

References OutputGenerator::m_t.

Referenced by endTitleHead().

◆ endTitleHead()

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

Implements OutputGenIntf.

Definition at line 3299 of file htmlgen.cpp.

3300{
3301 endTitle();
3302 m_t << "</div>\n";
3303}
void endTitle()
Definition htmlgen.h:312

References endTitle(), and OutputGenerator::m_t.

◆ endTypewriter()

void HtmlGenerator::endTypewriter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 144 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ exceptionEntry()

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

Implements OutputGenIntf.

Definition at line 2353 of file htmlgen.cpp.

2354{
2355 DBG_HTML(m_t << "<!-- exceptionEntry -->\n";)
2356 if (!closeBracket)
2357 {
2358 m_t << "</td>\n";
2359 m_t << " </tr>\n";
2360 m_t << " <tr>\n";
2361 m_t << " <td align=\"right\">";
2362 }
2363 // colspan 2 so it gets both parameter type and parameter name columns
2364 if (!prefix.isEmpty())
2365 m_t << prefix << "</td><td>(</td><td colspan=\"2\">";
2366 else if (closeBracket)
2367 m_t << "&#160;)</td><td></td><td></td><td>";
2368 else
2369 m_t << "</td><td></td><td colspan=\"2\">";
2370}
constexpr auto prefix
Definition anchor.cpp:44

References DBG_HTML, OutputGenerator::m_t, and prefix.

◆ getMathJaxMacros()

QCString HtmlGenerator::getMathJaxMacros ( )
static

Definition at line 3464 of file htmlgen.cpp.

3465{
3466 return getConvertLatexMacro();
3467}
static QCString getConvertLatexMacro()
Convert a set of LaTeX commands \‍(re)newcommand to a form readable by MathJax LaTeX syntax:
Definition htmlgen.cpp:145

References getConvertLatexMacro().

◆ getNavTreeCss()

QCString HtmlGenerator::getNavTreeCss ( )
static

Definition at line 3469 of file htmlgen.cpp.

3470{
3472 return replaceVariables(mgr.getAsString("navtree.css"));
3473}
Singleton for managing resources compiled into an executable.
Definition resourcemgr.h:37
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:667

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

Referenced by init().

◆ init()

void HtmlGenerator::init ( )
static

Definition at line 1104 of file htmlgen.cpp.

1105{
1106 QCString dname = Config_getString(HTML_OUTPUT);
1107 Dir d(dname.str());
1108 if (!d.exists() && !d.mkdir(dname.str()))
1109 {
1110 term("Could not create output directory %s\n",qPrint(dname));
1111 }
1112 //writeLogo(dname);
1113 if (!Config_getString(HTML_HEADER).isEmpty())
1114 {
1116 //printf("g_header='%s'\n",qPrint(g_header));
1118 checkBlocks(result,Config_getString(HTML_HEADER),htmlMarkerInfo);
1119 }
1120 else
1121 {
1122 g_header = ResourceMgr::instance().getAsString("header.html");
1124 checkBlocks(result,"<default header.html>",htmlMarkerInfo);
1125 }
1126
1127 if (!Config_getString(HTML_FOOTER).isEmpty())
1128 {
1130 //printf("g_footer='%s'\n",qPrint(g_footer));
1132 checkBlocks(result,Config_getString(HTML_FOOTER),htmlMarkerInfo);
1133 }
1134 else
1135 {
1136 g_footer = ResourceMgr::instance().getAsString("footer.html");
1138 checkBlocks(result,"<default footer.html>",htmlMarkerInfo);
1139 }
1140
1141 if (Config_getBool(USE_MATHJAX))
1142 {
1143 if (!Config_getString(MATHJAX_CODEFILE).isEmpty())
1144 {
1145 g_mathjax_code=fileToString(Config_getString(MATHJAX_CODEFILE));
1146 //printf("g_mathjax_code='%s'\n",qPrint(g_mathjax_code));
1147 }
1149 //printf("converted g_latex_macro='%s'\n",qPrint(g_latex_macro));
1150 }
1151 createSubDirs(d);
1152
1154
1156
1157 {
1158 QCString tabsCss;
1159 if (Config_getBool(HTML_DYNAMIC_MENUS))
1160 {
1161 tabsCss = mgr.getAsString("tabs.css");
1162 }
1163 else // stylesheet for the 'old' static tabs
1164 {
1165 tabsCss = mgr.getAsString("fixed_tabs.css");
1166 }
1167
1168 std::ofstream f = Portable::openOutputStream(dname+"/tabs.css");
1169 if (f.is_open())
1170 {
1171 TextStream t(&f);
1172 t << replaceVariables(tabsCss);
1173 }
1174 }
1175
1176
1177 mgr.copyResource("jquery.js",dname);
1178 if (Config_getBool(INTERACTIVE_SVG))
1179 {
1180 mgr.copyResource("svg.min.js",dname);
1181 }
1182
1183 if (!Config_getBool(DISABLE_INDEX) && Config_getBool(HTML_DYNAMIC_MENUS))
1184 {
1185 mgr.copyResource("menu.js",dname);
1186 }
1187
1188 // copy navtree.css
1189 {
1190 std::ofstream f = Portable::openOutputStream(dname+"/navtree.css");
1191 if (f.is_open())
1192 {
1193 TextStream t(&f);
1194 t << getNavTreeCss();
1195 }
1196 }
1197
1198 // copy resize.js
1199 {
1200 std::ofstream f = Portable::openOutputStream(dname+"/resize.js");
1201 if (f.is_open())
1202 {
1203 TextStream t(&f);
1204 t << substitute(
1205 substitute(mgr.getAsString("resize.js"),
1206 "$TREEVIEW_WIDTH", QCString().setNum(Config_getInt(TREEVIEW_WIDTH))),
1207 "$PROJECTID", getProjectId());
1208 }
1209 }
1210
1211 if (Config_getBool(HTML_COPY_CLIPBOARD))
1212 {
1213 std::ofstream f = Portable::openOutputStream(dname+"/clipboard.js");
1214 if (f.is_open())
1215 {
1216 TextStream t(&f);
1217 t << substitute(mgr.getAsString("clipboard.js"),"$copy_to_clipboard_text",theTranslator->trCopyToClipboard());
1218 }
1219 }
1220
1221 bool hasCookie = Config_getBool(GENERATE_TREEVIEW) || Config_getBool(SEARCHENGINE) || Config_getEnum(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE;
1222 if (hasCookie)
1223 {
1224 mgr.copyResource("cookie.js",dname);
1225 }
1226
1227 if (Config_getBool(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE)
1228 {
1229 std::ofstream f = Portable::openOutputStream(dname+"/darkmode_toggle.js");
1230 if (f.is_open())
1231 {
1232 TextStream t(&f);
1233 t << substitute(replaceColorMarkers(mgr.getAsString("darkmode_toggle.js")),
1234 "$PROJECTID",getProjectId());
1235 }
1236 }
1237
1238 {
1239 std::ofstream f = Portable::openOutputStream(dname+"/dynsections.js");
1240 if (f.is_open())
1241 {
1242 TextStream t(&f);
1243 t << replaceVariables(mgr.getAsString("dynsections.js"));
1244 if (Config_getBool(SOURCE_BROWSER) && Config_getBool(SOURCE_TOOLTIPS))
1245 {
1246 t << replaceVariables(mgr.getAsString("dynsections_tooltips.js"));
1247 }
1248 }
1249 }
1250}
static QCString getNavTreeCss()
Definition htmlgen.cpp:3469
bool copyResource(const QCString &name, const QCString &targetDir) const
Copies a registered resource to a given target directory.
virtual QCString trCopyToClipboard()=0
#define Config_getInt(name)
Definition config.h:34
#define Config_getEnum(name)
Definition config.h:35
static QCString g_header
Definition htmlgen.cpp:63
static QCString g_mathjax_code
Definition htmlgen.cpp:65
static QCString g_footer
Definition htmlgen.cpp:64
static const SelectionMarkerInfo htmlMarkerInfo
Definition htmlgen.cpp:69
static QCString g_latex_macro
Definition htmlgen.cpp:66
static void fillColorStyleMaps()
Definition htmlgen.cpp:653
static QCString substituteHtmlKeywords(const QCString &str, const QCString &title, const QCString &relPath, const QCString &navPath=QCString())
Definition htmlgen.cpp:319
#define term(fmt,...)
Definition message.h:94
std::ofstream openOutputStream(const QCString &name, bool append=false)
Definition portable.cpp:638
QCString substitute(const QCString &s, const QCString &src, const QCString &dst)
substitute all occurrences of src in s by dst
Definition qcstring.cpp:477
const char * qPrint(const char *s)
Definition qcstring.h:652
void checkBlocks(const QCString &s, const QCString fileName, const SelectionMarkerInfo &markerInfo)
Definition util.cpp:6872
QCString fileToString(const QCString &name, bool filter, bool isSourceCode)
Definition util.cpp:1413
void createSubDirs(const Dir &d)
Definition util.cpp:3933
QCString getProjectId()
Definition util.cpp:7136
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:6041

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

Referenced by generateOutput().

◆ insertMemberAlign()

void HtmlGenerator::insertMemberAlign ( bool templ)
overridevirtual

Implements OutputGenIntf.

Definition at line 2078 of file htmlgen.cpp.

2079{
2080 DBG_HTML(m_t << "<!-- insertMemberAlign -->\n")
2081 QCString className = templ ? "memTemplItemRight" : "memItemRight";
2082 m_t << "&#160;</td><td class=\"" << className << "\" valign=\"bottom\">";
2083}

References DBG_HTML, and OutputGenerator::m_t.

Referenced by endMemberItem().

◆ insertMemberAlignLeft()

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

Implements OutputGenIntf.

Definition at line 2085 of file htmlgen.cpp.

2086{
2087 if (!initTag) m_t << "&#160;</td>";
2088 switch (type)
2089 {
2090 case MemberItemType::Normal: m_t << "<td class=\"memItemLeft\" align=\"right\" valign=\"top\">"; break;
2091 case MemberItemType::AnonymousStart: m_t << "<td class=\"memItemLeft\" >"; break;
2092 case MemberItemType::AnonymousEnd: m_t << "<td class=\"memItemLeft\" valign=\"top\">"; break;
2093 case MemberItemType::Templated: m_t << "<td class=\"memTemplParams\" colspan=\"2\">"; break;
2094 }
2095}

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

265{}

◆ lineBreak()

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

Implements OutputGenIntf.

Definition at line 3276 of file htmlgen.cpp.

3277{
3278 if (!style.isEmpty())
3279 {
3280 m_t << "<br class=\"" << style << "\" />\n";
3281 }
3282 else
3283 {
3284 m_t << "<br />\n";
3285 }
3286}

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

◆ operator=() [1/2]

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

Definition at line 1079 of file htmlgen.cpp.

1080{
1081 //printf("%p:HtmlGenerator(copy assign %p)\n",(void*)this,(void*)&og);
1082 if (this!=&og)
1083 {
1084 m_dir = og.m_dir;
1085 m_codeList = std::make_unique<OutputCodeList>(*og.m_codeList);
1090 m_relPath = og.m_relPath;
1093 }
1094 return *this;
1095}

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

◆ operator=() [2/2]

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

◆ startAnonTypeScope()

void HtmlGenerator::startAnonTypeScope ( int )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 164 of file htmlgen.h.

164{}

◆ startBold()

void HtmlGenerator::startBold ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 195 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startCallGraph()

void HtmlGenerator::startCallGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2453 of file htmlgen.cpp.

2454{
2456}
static void startSectionHeader(TextStream &t, const QCString &relPath, int sectionCount)
Definition htmlgen.cpp:1897

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

◆ startCenter()

void HtmlGenerator::startCenter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 213 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startClassDiagram()

void HtmlGenerator::startClassDiagram ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1969 of file htmlgen.cpp.

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

◆ startCompoundTemplateParams()

void HtmlGenerator::startCompoundTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2068 of file htmlgen.cpp.

2069{
2070 m_t << "<div class=\"compoundTemplParams\">";
2071}

References OutputGenerator::m_t.

◆ startConstraintDocs()

void HtmlGenerator::startConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3258 of file htmlgen.cpp.

3259{
3260 m_t << "<td>&#160;";
3261}

References OutputGenerator::m_t.

◆ startConstraintList()

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

Implements OutputGenIntf.

Definition at line 3231 of file htmlgen.cpp.

3232{
3233 m_t << "<div class=\"typeconstraint\">\n";
3234 m_t << "<dl><dt><b>" << header << "</b></dt><dd>\n";
3235 m_t << "<table border=\"0\" cellspacing=\"2\" cellpadding=\"0\">\n";
3236}

References OutputGenerator::m_t.

◆ startConstraintParam()

void HtmlGenerator::startConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3238 of file htmlgen.cpp.

3239{
3240 m_t << "<tr><td valign=\"top\"><em>";
3241}

References OutputGenerator::m_t.

◆ startConstraintType()

void HtmlGenerator::startConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3248 of file htmlgen.cpp.

3249{
3250 m_t << "<td>&#160;:</td><td valign=\"top\"><em>";
3251}

References OutputGenerator::m_t.

◆ startContents()

void HtmlGenerator::startContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3004 of file htmlgen.cpp.

3005{
3006 m_t << "<div class=\"contents\">\n";
3007}

References OutputGenerator::m_t.

◆ startDescForItem()

void HtmlGenerator::startDescForItem ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 197 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startDescTable()

void HtmlGenerator::startDescTable ( const QCString & title)
overridevirtual

Implements OutputGenIntf.

Definition at line 2547 of file htmlgen.cpp.

2548{
2549 m_t << "<table class=\"fieldtable\">\n"
2550 << "<tr><th colspan=\"2\">" << title << "</th></tr>";
2551}

References OutputGenerator::m_t.

◆ startDescTableData()

void HtmlGenerator::startDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2577 of file htmlgen.cpp.

2578{
2579 m_t << "<td class=\"fielddoc\">";
2580}

References OutputGenerator::m_t.

◆ startDescTableRow()

void HtmlGenerator::startDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2557 of file htmlgen.cpp.

2558{
2559 m_t << "<tr>";
2560}

References OutputGenerator::m_t.

◆ startDescTableTitle()

void HtmlGenerator::startDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2567 of file htmlgen.cpp.

2568{
2569 m_t << "<td class=\"fieldname\">";
2570}

References OutputGenerator::m_t.

◆ startDirDepGraph()

void HtmlGenerator::startDirDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2471 of file htmlgen.cpp.

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

◆ startDotGraph()

void HtmlGenerator::startDotGraph ( )
overridevirtual

Implements OutputGenIntf.

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

1650{
1651 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>";
1652}

References OutputGenerator::m_t.

◆ startEmphasis()

void HtmlGenerator::startEmphasis ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 193 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startExamples()

void HtmlGenerator::startExamples ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2587 of file htmlgen.cpp.

2588{
2589 m_t << "<dl class=\"section examples\"><dt>";
2591 m_t << "</dt>";
2592}
void docify(const QCString &text) override
Definition htmlgen.cpp:1849
virtual QCString trExamples()=0

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

◆ startFile()

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

Implements OutputGenIntf.

Definition at line 1434 of file htmlgen.cpp.

1436{
1437 //printf("HtmlGenerator::startFile(%s)\n",qPrint(name));
1439 QCString fileName = name;
1441 m_lastTitle=title;
1442
1446 {
1447 std::lock_guard<std::mutex> lock(g_indexLock);
1449 }
1450
1453
1454 m_t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
1455 << getDoxygenVersion() << " -->\n";
1456 bool searchEngine = Config_getBool(SEARCHENGINE);
1457 if (searchEngine /*&& !generateTreeView*/)
1458 {
1459 m_t << "<script type=\"text/javascript\">\n";
1460 m_t << "/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */\n";
1461 m_t << "var searchBox = new SearchBox(\"searchBox\", \""
1462 << m_relPath<< "search/\",'" << Doxygen::htmlFileExtension << "');\n";
1463 m_t << "/* @license-end */\n";
1464 m_t << "</script>\n";
1465 }
1466 if (Config_getBool(HTML_CODE_FOLDING))
1467 {
1468 m_t << "<script type=\"text/javascript\">\n";
1469 m_t << "/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */\n";
1470 m_t << "$(function() { codefold.init(" << (m_relPath.isEmpty() ? "0" : "1") << "); });\n";
1471 m_t << "/* @license-end */\n";
1472 m_t << "</script>\n";
1473 }
1475}
static IndexList * indexList
Definition doxygen.h:124
void setFileName(const QCString fileName)
Definition htmlgen.h:31
void setRelativePath(const QCString &path)
Definition htmlgen.cpp:720
void startPlainFile(const QCString &name) override
Definition htmlgen.h:307
void addIndexFile(const QCString &name)
Definition indexlist.h:123
virtual QCString trGeneratedBy()=0
static std::mutex g_indexLock
Definition htmlgen.cpp:1432
QCString convertToHtml(const QCString &s, bool keepEntities)
Definition util.cpp:4256
QCString relativePathToRoot(const QCString &name)
Definition util.cpp:3872
QCString filterTitle(const QCString &title)
Definition util.cpp:5843
void addHtmlExtensionIfMissing(QCString &fName)
Definition util.cpp:5171

References addHtmlExtensionIfMissing(), IndexList::addIndexFile(), Config_getBool, convertToHtml(), OutputGenerator::fileName(), filterTitle(), g_header, g_indexLock, Doxygen::htmlFileExtension, Doxygen::indexList, QCString::isEmpty(), m_codeGen, m_lastFile, m_lastTitle, m_relPath, m_sectionCount, OutputGenerator::m_t, relativePathToRoot(), HtmlCodeGenerator::setFileName(), HtmlCodeGenerator::setRelativePath(), startPlainFile(), substituteHtmlKeywords(), theTranslator, and Translator::trGeneratedBy().

◆ startGroupCollaboration()

void HtmlGenerator::startGroupCollaboration ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2435 of file htmlgen.cpp.

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

◆ startGroupHeader()

void HtmlGenerator::startGroupHeader ( int extraIndentLevel)
overridevirtual

Implements OutputGenIntf.

Definition at line 1786 of file htmlgen.cpp.

1787{
1788 if (extraIndentLevel==2)
1789 {
1790 m_t << "<h4 class=\"groupheader\">";
1791 }
1792 else if (extraIndentLevel==1)
1793 {
1794 m_t << "<h3 class=\"groupheader\">";
1795 }
1796 else // extraIndentLevel==0
1797 {
1798 m_t << "<h2 class=\"groupheader\">";
1799 }
1800}

References OutputGenerator::m_t.

◆ startHeaderSection()

void HtmlGenerator::startHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3288 of file htmlgen.cpp.

3289{
3290 m_t << "<div class=\"header\">\n";
3291}

References OutputGenerator::m_t.

◆ startInclDepGraph()

void HtmlGenerator::startInclDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2417 of file htmlgen.cpp.

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

◆ startIndent()

void HtmlGenerator::startIndent ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2522 of file htmlgen.cpp.

2523{
2524 DBG_HTML(m_t << "<!-- startIndent -->\n";)
2525
2526 m_t << "<div class=\"memdoc\">\n";
2527}

References DBG_HTML, and OutputGenerator::m_t.

◆ startIndexItem()

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

Implements OutputGenIntf.

Definition at line 1690 of file htmlgen.cpp.

1691{
1692 //printf("HtmlGenerator::startIndexItem(%s,%s)\n",ref,f);
1693 if (!ref.isEmpty() || !f.isEmpty())
1694 {
1695 if (!ref.isEmpty())
1696 {
1697 m_t << "<a class=\"elRef\" ";
1699 }
1700 else
1701 {
1702 m_t << "<a class=\"el\" ";
1703 }
1704 m_t << "href=\"";
1705 m_t << externalRef(m_relPath,ref,TRUE);
1706 if (!f.isEmpty())
1707 {
1708 QCString fn=f;
1710 m_t << fn;
1711 }
1712 m_t << "\">";
1713 }
1714 else
1715 {
1716 m_t << "<b>";
1717 }
1718}
QCString externalRef(const QCString &relPath, const QCString &ref, bool href)
Definition util.cpp:5988
QCString externalLinkTarget(const bool parent)
Definition util.cpp:5944

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

◆ startIndexKey()

void HtmlGenerator::startIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2187 of file htmlgen.cpp.

2188{
2189 //m_t << " <tr><td class=\"indexkey\">";
2190}

◆ startIndexList()

void HtmlGenerator::startIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2177 of file htmlgen.cpp.

2178{
2179 m_t << "<table>\n";
2180}

References OutputGenerator::m_t.

◆ startIndexListItem()

void HtmlGenerator::startIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1680 of file htmlgen.cpp.

1681{
1682 m_t << "<li>";
1683}

References OutputGenerator::m_t.

◆ startIndexSection()

void HtmlGenerator::startIndexSection ( IndexSection )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 112 of file htmlgen.h.

112{}

◆ startIndexValue()

void HtmlGenerator::startIndexValue ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2197 of file htmlgen.cpp.

2198{
2199 //m_t << "<td class=\"indexvalue\">";
2200}

◆ startInlineHeader()

void HtmlGenerator::startInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3310 of file htmlgen.cpp.

3311{
3312 if (m_emptySection)
3313 {
3314 m_t << "<table class=\"memberdecls\">\n";
3316 }
3317 m_t << "<tr><td colspan=\"2\"><h3>";
3318}

References FALSE, m_emptySection, and OutputGenerator::m_t.

◆ startInlineMemberDoc()

void HtmlGenerator::startInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3364 of file htmlgen.cpp.

3365{
3366 DBG_HTML(m_t << "<!-- startInlineMemberDoc -->\n";)
3367 m_t << "<td class=\"fielddoc\">\n";
3368}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberName()

void HtmlGenerator::startInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3352 of file htmlgen.cpp.

3353{
3354 DBG_HTML(m_t << "<!-- startInlineMemberName -->\n";)
3355 m_t << "<td class=\"fieldname\">\n";
3356}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberType()

void HtmlGenerator::startInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3340 of file htmlgen.cpp.

3341{
3342 DBG_HTML(m_t << "<!-- startInlineMemberType -->\n";)
3343 m_t << "<tr><td class=\"fieldtype\">\n";
3344}

References DBG_HTML, and OutputGenerator::m_t.

◆ startItemList()

void HtmlGenerator::startItemList ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 132 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startItemListItem()

void HtmlGenerator::startItemListItem ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 147 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startLabels()

void HtmlGenerator::startLabels ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3376 of file htmlgen.cpp.

3377{
3378 DBG_HTML(m_t << "<!-- startLabels -->\n";)
3379 m_t << "<span class=\"mlabels\">";
3380}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDeclaration()

void HtmlGenerator::startMemberDeclaration ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 184 of file htmlgen.h.

184{}

◆ startMemberDescription()

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

Implements OutputGenIntf.

Definition at line 2097 of file htmlgen.cpp.

2098{
2099 DBG_HTML(m_t << "<!-- startMemberDescription -->\n")
2101 {
2102 m_t << "<table class=\"memberdecls\">\n";
2104 }
2105 m_t << "<tr class=\"memdesc:" << anchor;
2106 if (!inheritId.isEmpty())
2107 {
2108 m_t << " inherit " << inheritId;
2109 }
2110 m_t << "\">";
2111 m_t << "<td class=\"mdescLeft\">&#160;</td>";
2112 if (typ) m_t << "<td class=\"mdescLeft\">&#160;</td>";
2113 m_t << "<td class=\"mdescRight\">";
2114}

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

◆ startMemberDoc()

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

Implements OutputGenIntf.

Definition at line 2217 of file htmlgen.cpp.

2220{
2221 DBG_HTML(m_t << "<!-- startMemberDoc -->\n";)
2222 m_t << "\n<h2 class=\"memtitle\">"
2223 << "<span class=\"permalink\"><a href=\"#" << anchor << "\">&#9670;&#160;</a></span>";
2224 docify(title);
2225 if (memTotal>1)
2226 {
2227 m_t << " <span class=\"overload\">[" << memCount << "/" << memTotal <<"]</span>";
2228 }
2229 m_t << "</h2>\n";
2230 m_t << "\n<div class=\"memitem\">\n";
2231 m_t << "<div class=\"memproto\">\n";
2232}

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

◆ startMemberDocList()

void HtmlGenerator::startMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2207 of file htmlgen.cpp.

2208{
2209 DBG_HTML(m_t << "<!-- startMemberDocList -->\n";)
2210}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocName()

void HtmlGenerator::startMemberDocName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2246 of file htmlgen.cpp.

2247{
2248 DBG_HTML(m_t << "<!-- startMemberDocName -->\n";)
2249
2250 m_t << " <table class=\"memname\">\n";
2251
2252 m_t << " <tr>\n";
2253 m_t << " <td class=\"memname\">";
2254}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocPrefixItem()

void HtmlGenerator::startMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2234 of file htmlgen.cpp.

2235{
2236 DBG_HTML(m_t << "<!-- startMemberDocPrefixItem -->\n";)
2237 m_t << "<div class=\"memtemplate\">\n";
2238}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocSimple()

void HtmlGenerator::startMemberDocSimple ( bool isEnum)
overridevirtual

Implements OutputGenIntf.

Definition at line 3325 of file htmlgen.cpp.

3326{
3327 DBG_HTML(m_t << "<!-- startMemberDocSimple -->\n";)
3328 m_t << "<table class=\"fieldtable\">\n";
3329 m_t << "<tr><th colspan=\"" << (isEnum?"2":"3") << "\">";
3330 m_t << (isEnum? theTranslator->trEnumerationValues() :
3331 theTranslator->trCompoundMembers()) << "</th></tr>\n";
3332}
virtual QCString trEnumerationValues()=0
virtual QCString trCompoundMembers()=0

References DBG_HTML, OutputGenerator::m_t, theTranslator, Translator::trCompoundMembers(), and Translator::trEnumerationValues().

◆ startMemberGroup()

void HtmlGenerator::startMemberGroup ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2514 of file htmlgen.cpp.

2515{
2516}

◆ startMemberGroupDocs()

void HtmlGenerator::startMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2504 of file htmlgen.cpp.

2505{
2506 m_t << "<tr><td colspan=\"2\"><div class=\"groupText\">";
2507}

References OutputGenerator::m_t.

◆ startMemberGroupHeader()

void HtmlGenerator::startMemberGroupHeader ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2494 of file htmlgen.cpp.

2495{
2496 m_t << "<tr><td colspan=\"2\"><div class=\"groupHeader\">";
2497}

References OutputGenerator::m_t.

◆ startMemberHeader()

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

Implements OutputGenIntf.

Definition at line 2139 of file htmlgen.cpp.

2140{
2141 DBG_HTML(m_t << "<!-- startMemberHeader -->\n")
2143 {
2144 m_t << "</table>";
2146 }
2147 if (m_emptySection)
2148 {
2149 m_t << "<table class=\"memberdecls\">\n";
2151 }
2152 m_t << "<tr class=\"heading\"><td colspan=\"" << typ << "\"><h2 class=\"groupheader\">";
2153 if (!anchor.isEmpty())
2154 {
2155 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>\n";
2156 }
2157}

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

2023{
2024 DBG_HTML(m_t << "<!-- startMemberItem() -->\n")
2026 {
2027 m_t << "<table class=\"memberdecls\">\n";
2029 }
2030 m_t << "<tr class=\"memitem:" << anchor;
2031 if (!inheritId.isEmpty())
2032 {
2033 m_t << " inherit " << inheritId;
2034 }
2035 m_t << "\"";
2036 if (!anchor.isEmpty())
2037 {
2038 m_t << " id=\"r_" << anchor << "\"";
2039 }
2040 m_t << ">";
2042}
void insertMemberAlignLeft(MemberItemType, bool) override
Definition htmlgen.cpp:2085

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

◆ startMemberList()

void HtmlGenerator::startMemberList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2008 of file htmlgen.cpp.

2009{
2010 DBG_HTML(m_t << "<!-- startMemberList -->\n")
2011}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberSections()

void HtmlGenerator::startMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2122 of file htmlgen.cpp.

2123{
2124 DBG_HTML(m_t << "<!-- startMemberSections -->\n")
2125 m_emptySection=TRUE; // we postpone writing <table> until we actually
2126 // write a row to prevent empty tables, which
2127 // are not valid XHTML!
2128}

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

◆ startMemberSubtitle()

void HtmlGenerator::startMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2165 of file htmlgen.cpp.

2166{
2167 DBG_HTML(m_t << "<!-- startMemberSubtitle -->\n")
2168 m_t << "<tr><td class=\"ititle\" colspan=\"2\">";
2169}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberTemplateParams()

void HtmlGenerator::startMemberTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2053 of file htmlgen.cpp.

2054{
2055}

◆ startPageDoc()

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

Implements OutputGenIntf.

Definition at line 3014 of file htmlgen.cpp.

3015{
3016 m_t << "<div>";
3017}

References OutputGenerator::m_t.

◆ startPageRef()

void HtmlGenerator::startPageRef ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 227 of file htmlgen.h.

227{}

◆ startParagraph()

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

Implements OutputGenIntf.

Definition at line 1662 of file htmlgen.cpp.

1663{
1664 if (!classDef.isEmpty())
1665 m_t << "\n<p class=\"" << classDef << "\">";
1666 else
1667 m_t << "\n<p>";
1668}

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

◆ startParameterDefVal()

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

Implements OutputGenIntf.

Definition at line 2334 of file htmlgen.cpp.

2335{
2336 m_t << "<span class=\"paramdefsep\">";
2337 docify(s);
2338 m_t << "</span><span class=\"paramdefval\">";
2339}

References docify(), and OutputGenerator::m_t.

◆ startParameterExtra()

void HtmlGenerator::startParameterExtra ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2305 of file htmlgen.cpp.

2306{
2307 DBG_HTML(m_t << "<!-- startParameterExtra -->\n";)
2308}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterList()

void HtmlGenerator::startParameterList ( bool openBracket)
overridevirtual

Implements OutputGenIntf.

Definition at line 2262 of file htmlgen.cpp.

2263{
2264 DBG_HTML(m_t << "<!-- startParameterList -->\n";)
2265 m_t << " <td>";
2266 if (openBracket) m_t << "(";
2267 m_t << "</td>\n";
2268}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterName()

void HtmlGenerator::startParameterName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2293 of file htmlgen.cpp.

2294{
2295 DBG_HTML(m_t << "<!-- startParameterName -->\n";)
2296 m_t << " <td class=\"paramname\"><span class=\"paramname\"><em>";
2297}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterType()

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

Implements OutputGenIntf.

Definition at line 2270 of file htmlgen.cpp.

2271{
2272 if (first)
2273 {
2274 DBG_HTML(m_t << "<!-- startFirstParameterType -->\n";)
2275 m_t << " <td class=\"paramtype\">";
2276 }
2277 else
2278 {
2279 DBG_HTML(m_t << "<!-- startParameterType -->\n";)
2280 m_t << " <tr>\n";
2281 m_t << " <td class=\"paramkey\">" << key << "</td>\n";
2282 m_t << " <td></td>\n";
2283 m_t << " <td class=\"paramtype\">";
2284 }
2285}

References DBG_HTML, and OutputGenerator::m_t.

◆ startPlainFile()

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

Implements OutputGenIntf.

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

1566{
1567 m_t << "<h3 class=\"version\">";
1568}

References OutputGenerator::m_t.

◆ startQuickIndices()

void HtmlGenerator::startQuickIndices ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 229 of file htmlgen.h.

229{}

◆ startSection()

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

Implements OutputGenIntf.

Definition at line 1818 of file htmlgen.cpp.

1819{
1820 switch(type.level())
1821 {
1822 case SectionType::Page: m_t << "\n\n<h1>"; break;
1823 case SectionType::Section: m_t << "\n\n<h2>"; break;
1824 case SectionType::Subsection: m_t << "\n\n<h3>"; break;
1825 case SectionType::Subsubsection: m_t << "\n\n<h4>"; break;
1826 case SectionType::Paragraph: m_t << "\n\n<h5>"; break;
1827 case SectionType::Subparagraph: m_t << "\n\n<h6>"; break;
1828 case SectionType::Subsubparagraph: m_t << "\n\n<h6>"; break;
1829 default: ASSERT(0); break;
1830 }
1831 m_t << "<a id=\"" << lab << "\" name=\"" << lab << "\"></a>";
1832}

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

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

References OutputGenerator::m_t.

◆ startTextBlock()

void HtmlGenerator::startTextBlock ( bool )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 263 of file htmlgen.h.

263{ 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 1769 of file htmlgen.cpp.

1770{
1771 m_t << "<a href=\"";
1772 QCString fn = f;
1774 m_t << createHtmlUrl(m_relPath,"",true,
1775 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1776 fn,
1777 anchor);
1778 m_t << "\">";
1779}
QCString createHtmlUrl(const QCString &relPath, const QCString &ref, bool href, bool isLocalFile, const QCString &targetFileName, const QCString &anchor)
Definition util.cpp:5955

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

◆ startTitle()

void HtmlGenerator::startTitle ( )
inlineprivate

Definition at line 311 of file htmlgen.h.

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

References OutputGenerator::m_t.

Referenced by startTitleHead().

◆ startTitleHead()

void HtmlGenerator::startTitleHead ( const QCString & )
overridevirtual

Implements OutputGenIntf.

Definition at line 3293 of file htmlgen.cpp.

3294{
3295 m_t << " <div class=\"headertitle\">";
3296 startTitle();
3297}
void startTitle()
Definition htmlgen.h:311

References OutputGenerator::m_t, and startTitle().

◆ startTypewriter()

void HtmlGenerator::startTypewriter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 143 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ type()

OutputType HtmlGenerator::type ( ) const
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 101 of file htmlgen.h.

101{ return OutputType::Html; }

References Html.

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

◆ writeAnchor()

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

Implements OutputGenIntf.

Definition at line 191 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ writeChar()

void HtmlGenerator::writeChar ( char c)
overridevirtual

Implements OutputGenIntf.

Definition at line 1887 of file htmlgen.cpp.

1888{
1889 char cs[2];
1890 cs[0]=c;
1891 cs[1]=0;
1892 docify(cs);
1893}

References docify().

◆ writeDoc()

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

Implements OutputGenIntf.

Definition at line 2599 of file htmlgen.cpp.

2600{
2601 const DocNodeAST *astImpl = dynamic_cast<const DocNodeAST*>(ast);
2602 if (astImpl)
2603 {
2604 m_codeList->setId(id);
2605 HtmlDocVisitor visitor(m_t,*m_codeList,ctx,fileName());
2606 std::visit(visitor,astImpl->root);
2607 }
2608}
Class representing the abstract syntax tree of a documentation block.
Definition docnode.h:1428
DocNodeVariant root
Definition docnode.h:1449
Concrete visitor implementation for HTML output.

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

◆ writeExternalSearchPage()

void HtmlGenerator::writeExternalSearchPage ( )
static

Definition at line 3121 of file htmlgen.cpp.

3122{
3123 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3124 QCString dname = Config_getString(HTML_OUTPUT);
3126 std::ofstream f = Portable::openOutputStream(fileName);
3127 if (f.is_open())
3128 {
3129 TextStream t(&f);
3130 t << substituteHtmlKeywords(g_header,"Search","");
3131
3132 t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
3133 << getDoxygenVersion() << " -->\n";
3134 t << "<script type=\"text/javascript\">\n";
3135 t << "/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */\n";
3136 t << "var searchBox = new SearchBox(\"searchBox\", \""
3137 << "search/\",'" << Doxygen::htmlFileExtension << "');\n";
3138 t << "/* @license-end */\n";
3139 t << "</script>\n";
3140 if (!Config_getBool(DISABLE_INDEX))
3141 {
3143 if (!Config_getBool(HTML_DYNAMIC_MENUS)) // for dynamic menus, menu.js creates this part
3144 {
3145 t << " <input type=\"text\" id=\"MSearchField\" name=\"query\" value=\"\" placeholder=\"" << theTranslator->trSearch() <<
3146 "\" size=\"20\" accesskey=\"S\" onfocus=\"searchBox.OnSearchFieldFocus(true)\" onblur=\"searchBox.OnSearchFieldFocus(false)\"/>\n";
3147 }
3148 t << " </form>\n";
3149 t << " </div><div class=\"right\"></div>\n";
3150 t << " </div>\n";
3151 t << " </li>\n";
3152 t << " </ul>\n";
3153 t << " </div>\n";
3154 t << "</div>\n";
3155 }
3156 else
3157 {
3158 t << "</div>\n";
3159 }
3160 t << writeSplitBarAsString("search","");
3161 t << "<div class=\"header\">\n";
3162 t << " <div class=\"headertitle\">\n";
3163 t << " <div class=\"title\">" << theTranslator->trSearchResultsTitle() << "</div>\n";
3164 t << " </div>\n";
3165 t << "</div>\n";
3166 t << "<div class=\"contents\">\n";
3167
3168 t << "<div id=\"searchresults\"></div>\n";
3169 t << "</div>\n";
3170
3171 if (generateTreeView)
3172 {
3173 t << "</div><!-- doc-content -->\n";
3174 }
3175
3176 writePageFooter(t,"Search","","");
3177
3178 }
3179 f.close();
3180
3181 QCString scriptName = dname+"/search/search.js";
3182 f = Portable::openOutputStream(scriptName);
3183 if (f.is_open())
3184 {
3185 TextStream t(&f);
3186 t << "var searchResultsText=["
3187 << "\"" << theTranslator->trSearchResults(0) << "\","
3188 << "\"" << theTranslator->trSearchResults(1) << "\","
3189 << "\"" << theTranslator->trSearchResults(2) << "\"];\n";
3190 t << "var serverUrl=\"" << Config_getString(SEARCHENGINE_URL) << "\";\n";
3191 t << "var tagMap = {\n";
3192 bool first=TRUE;
3193 // add search mappings
3194 const StringVector &extraSearchMappings = Config_getList(EXTRA_SEARCH_MAPPINGS);
3195 for (const auto &ml : extraSearchMappings)
3196 {
3197 QCString mapLine = ml.c_str();
3198 int eqPos = mapLine.find('=');
3199 if (eqPos!=-1) // tag command contains a destination
3200 {
3201 QCString tagName = mapLine.left(eqPos).stripWhiteSpace();
3202 QCString destName = mapLine.right(mapLine.length()-eqPos-1).stripWhiteSpace();
3203 if (!tagName.isEmpty())
3204 {
3205 if (!first) t << ",\n";
3206 t << " \"" << tagName << "\": \"" << destName << "\"";
3207 first=FALSE;
3208 }
3209 }
3210 }
3211 if (!first) t << "\n";
3212 t << "};\n\n";
3213 t << ResourceMgr::instance().getAsString("extsearch.js");
3214 t << "\n";
3215 t << "$(function() {\n";
3216 t << " var query = trim(getURLParameter('query'));\n";
3217 t << " if (query) {\n";
3218 t << " searchFor(query,0,20);\n";
3219 t << " } else {\n";
3220 t << " var results = $('#results');\n";
3221 t << " results.html('<p>" << theTranslator->trSearchResults(0) << "</p>');\n";
3222 t << " }\n";
3223 t << "});\n";
3224 }
3225 else
3226 {
3227 err("Failed to open file '%s' for writing...\n",qPrint(scriptName));
3228 }
3229}
static QCString writeSplitBarAsString(const QCString &name, const QCString &relpath)
Definition htmlgen.cpp:2950
static void writePageFooter(TextStream &t, const QCString &, const QCString &, const QCString &)
Definition htmlgen.cpp:1549
int find(char c, int index=0, bool cs=TRUE) const
Definition qcstring.cpp:43
size_t length() const
Returns the length of the string, not counting the 0-terminator.
Definition qcstring.h:146
QCString stripWhiteSpace() const
returns a copy of this string with leading and trailing whitespace removed
Definition qcstring.h:238
QCString right(size_t len) const
Definition qcstring.h:212
QCString left(size_t len) const
Definition qcstring.h:207
virtual QCString trSearch()=0
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)
Definition htmlgen.cpp:2810
#define err(fmt,...)
Definition message.h:84

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

Referenced by generateOutput().

◆ writeFooter()

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

Implements OutputGenIntf.

Definition at line 1555 of file htmlgen.cpp.

1556{
1558}

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

◆ writeFooterFile()

void HtmlGenerator::writeFooterFile ( TextStream & t)
static

Definition at line 1426 of file htmlgen.cpp.

1427{
1428 t << "<!-- HTML footer for doxygen " << getDoxygenVersion() << "-->\n";
1429 t << ResourceMgr::instance().getAsString("footer.html");
1430}

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

Referenced by readConfiguration().

◆ writeGraphicalHierarchy()

void HtmlGenerator::writeGraphicalHierarchy ( DotGfxHierarchyTable & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2489 of file htmlgen.cpp.

2490{
2491 g.writeGraph(m_t,dir(),fileName());
2492}
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 1420 of file htmlgen.cpp.

1421{
1422 t << "<!-- HTML header for doxygen " << getDoxygenVersion() << "-->\n";
1423 t << ResourceMgr::instance().getAsString("header.html");
1424}

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

3400{
3401 DBG_HTML(m_t << "<!-- writeInheritedSectionTitle -->\n";)
3402 QCString a = anchor;
3403 if (!a.isEmpty()) a.prepend("#");
3404 QCString classLink = QCString("<a class=\"el\" ");
3405 if (!ref.isEmpty())
3406 {
3407 classLink+= externalLinkTarget();
3408 classLink += " href=\"";
3409 classLink+= externalRef(m_relPath,ref,TRUE);
3410 }
3411 else
3412 {
3413 classLink += "href=\"";
3414 classLink+=m_relPath;
3415 }
3416 QCString fn = file;
3418 classLink=classLink+fn+a;
3419 classLink+=QCString("\">")+convertToHtml(name,FALSE)+"</a>";
3420 m_t << "<tr class=\"inherit_header " << id << "\">"
3421 << "<td colspan=\"2\" onclick=\"javascript:dynsection.toggleInherit('" << id << "')\">"
3422 << "<img src=\"" << m_relPath << "closed.png\" alt=\"-\"/>&#160;"
3423 << theTranslator->trInheritedFrom(convertToHtml(title,FALSE),classLink)
3424 << "</td></tr>\n";
3425}
QCString & prepend(const char *s)
Definition qcstring.h:398
virtual QCString trInheritedFrom(const QCString &members, const QCString &what)=0

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

◆ writeLabel()

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

Implements OutputGenIntf.

Definition at line 3382 of file htmlgen.cpp.

3383{
3384 DBG_HTML(m_t << "<!-- writeLabel(" << l << ") -->\n";)
3385 //m_t << "<tt>[" << l << "]</tt>";
3386 //if (!isLast) m_t << ", ";
3387 m_t << "<span class=\"mlabel\">" << l << "</span>";
3388}

References DBG_HTML, and OutputGenerator::m_t.

◆ writeLatexSpacing()

void HtmlGenerator::writeLatexSpacing ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 210 of file htmlgen.h.

210{}

◆ writeLocalToc()

void HtmlGenerator::writeLocalToc ( const SectionRefs & sr,
const LocalToc & lt )
overridevirtual

Implements OutputGenIntf.

Definition at line 3475 of file htmlgen.cpp.

3476{
3477 if (localToc.isHtmlEnabled())
3478 {
3479 int maxLevel = localToc.htmlLevel();
3480 m_t << "<div class=\"toc\">";
3481 m_t << "<h3>" << theTranslator->trRTFTableOfContents() << "</h3>\n";
3482 m_t << "<ul>";
3483 int level=1;
3484 char cs[2];
3485 cs[1]='\0';
3486 BoolVector inLi(maxLevel+1,false);
3487 for (const SectionInfo *si : sectionRefs)
3488 {
3489 //printf("Section: label=%s type=%d isSection()=%d\n",qPrint(si->label()),si->type(),isSection(si->type()));
3490 SectionType type = si->type();
3491 if (type.isSection())
3492 {
3493 //printf(" level=%d title=%s maxLevel=%d\n",level,qPrint(si->title()),maxLevel);
3494 int nextLevel = type.level();
3495 if (nextLevel>level)
3496 {
3497 for (int l=level;l<nextLevel;l++)
3498 {
3499 if (l < maxLevel) m_t << "<ul>";
3500 }
3501 }
3502 else if (nextLevel<level)
3503 {
3504 for (int l=level;l>nextLevel;l--)
3505 {
3506 if (l <= maxLevel && inLi[l]) m_t << "</li>\n";
3507 inLi[l]=false;
3508 if (l <= maxLevel) m_t << "</ul>\n";
3509 }
3510 }
3511 cs[0]=static_cast<char>('0'+nextLevel);
3512 if (nextLevel <= maxLevel && inLi[nextLevel])
3513 {
3514 m_t << "</li>\n";
3515 }
3516 QCString titleDoc = si->title();
3517 QCString label = si->label();
3518 if (titleDoc.isEmpty()) titleDoc = label;
3519 if (nextLevel <= maxLevel)
3520 {
3521 m_t << "<li class=\"level"+QCString(cs)+"\">"
3522 << "<a href=\"#"+label+"\">"
3523 << convertToHtml(filterTitle(titleDoc))
3524 << "</a>";
3525 }
3526 inLi[nextLevel]=true;
3527 level = nextLevel;
3528 }
3529 }
3530 if (level > maxLevel) level = maxLevel;
3531 while (level>1 && level <= maxLevel)
3532 {
3533 if (inLi[level])
3534 {
3535 m_t << "</li>\n";
3536 }
3537 inLi[level]=FALSE;
3538 m_t << "</ul>\n";
3539 level--;
3540 }
3541 if (level <= maxLevel && inLi[level]) m_t << "</li>\n";
3542 m_t << "</ul>\n";
3543 m_t << "</div>\n";
3544 }
3545}
class that provide information about a section.
Definition section.h:57
constexpr int level() const
Definition section.h:45
virtual QCString trRTFTableOfContents()=0
std::vector< bool > BoolVector
Definition containers.h:36

References convertToHtml(), FALSE, filterTitle(), LocalToc::htmlLevel(), QCString::isEmpty(), LocalToc::isHtmlEnabled(), SectionType::level(), OutputGenerator::m_t, theTranslator, Translator::trRTFTableOfContents(), and type().

◆ writeLogo()

void HtmlGenerator::writeLogo ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1544 of file htmlgen.cpp.

1545{
1547}
static QCString writeLogoAsString(const QCString &path)
Definition htmlgen.cpp:1513

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

◆ writeLogoAsString()

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

Definition at line 1513 of file htmlgen.cpp.

1514{
1515 QCString result;
1516 switch (Config_getEnum(TIMESTAMP))
1517 {
1518 case TIMESTAMP_t::YES:
1519 case TIMESTAMP_t::DATETIME:
1520 result += theTranslator->trGeneratedAt(
1522 Config_getString(PROJECT_NAME)
1523 );
1524 break;
1525 case TIMESTAMP_t::DATE:
1526 result += theTranslator->trGeneratedAt(
1528 Config_getString(PROJECT_NAME)
1529 );
1530 break;
1531 case TIMESTAMP_t::NO:
1532 result += theTranslator->trGeneratedBy();
1533 break;
1534 }
1535 result += "&#160;\n<a href=\"https://www.doxygen.org/index.html\">\n"
1536 "<img class=\"footer\" src=\"";
1537 result += path;
1538 result += "doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> ";
1539 result += getDoxygenVersion();
1540 result += " ";
1541 return result;
1542}
virtual QCString trGeneratedAt(const QCString &date, const QCString &projName)=0
QCString dateToString(DateTimeType includeTime)
Returns the current date, when includeTime is set also the time is provided.
Definition datetime.cpp:63

References Config_getEnum, Config_getString, Date, DateTime, dateToString(), theTranslator, Translator::trGeneratedAt(), and Translator::trGeneratedBy().

Referenced by writeLogo(), and writeSearchPage().

◆ writeNavigationPath()

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

Implements OutputGenIntf.

Definition at line 2999 of file htmlgen.cpp.

3000{
3001 m_t << substitute(s,"$relpath^",m_relPath);
3002}

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

◆ writeNonBreakableSpace()

void HtmlGenerator::writeNonBreakableSpace ( int n)
overridevirtual

Implements OutputGenIntf.

Definition at line 2539 of file htmlgen.cpp.

2540{
2541 for (int i=0; i<n; i++)
2542 {
2543 m_t << "&#160;";
2544 }
2545}

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

1747{
1748 if (!ref.isEmpty())
1749 {
1750 m_t << "<a class=\"elRef\" ";
1752 }
1753 else
1754 {
1755 m_t << "<a class=\"el\" ";
1756 }
1757 m_t << "href=\"";
1758 QCString fn = f;
1760 m_t << createHtmlUrl(m_relPath,ref,true,
1761 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1762 fn,
1763 anchor);
1764 m_t << "\">";
1765 docify(name);
1766 m_t << "</a>";
1767}

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

1551{
1552 t << substituteHtmlKeywords(g_footer,convertToHtml(lastTitle),relPath,navPath);
1553}

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

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

◆ writePageLink()

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

Implements OutputGenIntf.

Definition at line 114 of file htmlgen.h.

114{}

◆ writeQuickLinks()

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

Implements OutputGenIntf.

Definition at line 3024 of file htmlgen.cpp.

3025{
3027}

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

◆ writeRuler()

void HtmlGenerator::writeRuler ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 190 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ writeSearchData()

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

Definition at line 1298 of file htmlgen.cpp.

1299{
1300 //bool serverBasedSearch = Config_getBool(SERVER_BASED_SEARCH);
1301 //writeImgData(dname,serverBasedSearch ? search_server_data : search_client_data);
1303
1304 // server side search resources
1305 mgr.copyResource("mag.svg",dname);
1306 mgr.copyResource("mag_d.svg",dname);
1307 Doxygen::indexList->addImageFile("search/mag.svg");
1308 Doxygen::indexList->addImageFile("search/mag_d.svg");
1309
1310 // client side search resources
1311 mgr.copyResource("close.svg",dname);
1312 Doxygen::indexList->addImageFile("search/close.svg");
1313 mgr.copyResource("mag_sel.svg",dname);
1314 mgr.copyResource("mag_seld.svg",dname);
1315 Doxygen::indexList->addImageFile("search/mag_sel.svg");
1316 Doxygen::indexList->addImageFile("search/mag_seld.svg");
1317
1318 QCString searchDirName = dname;
1319 std::ofstream f = Portable::openOutputStream(searchDirName+"/search.css");
1320 if (f.is_open())
1321 {
1322 TextStream t(&f);
1323 QCString searchCss;
1324 // the position of the search box depends on a number of settings.
1325 // Insert the right piece of CSS code depending on which options are selected
1326 if (Config_getBool(DISABLE_INDEX))
1327 {
1328 if (Config_getBool(GENERATE_TREEVIEW) && Config_getBool(FULL_SIDEBAR))
1329 {
1330 searchCss = mgr.getAsString("search_sidebar.css"); // we have a full height side bar
1331 }
1332 else if (Config_getBool(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE)
1333 {
1334 searchCss = mgr.getAsString("search_nomenu_toggle.css"); // we have no tabs but do have a darkmode button
1335 }
1336 else
1337 {
1338 searchCss = mgr.getAsString("search_nomenu.css"); // we have no tabs and no darkmode button
1339 }
1340 }
1341 else if (!Config_getBool(HTML_DYNAMIC_MENUS))
1342 {
1343 searchCss = mgr.getAsString("search_fixedtabs.css"); // we have tabs, but they are static
1344 }
1345 else
1346 {
1347 searchCss = mgr.getAsString("search.css"); // default case with a dynamic menu bar
1348 }
1349 // and then add the option independent part of the styling
1350 searchCss += mgr.getAsString("search_common.css");
1351 searchCss = substitute(searchCss,"$doxygenversion",getDoxygenVersion());
1352 t << replaceVariables(searchCss);
1353 Doxygen::indexList->addStyleSheetFile("search/search.css");
1354 }
1355}
void addStyleSheetFile(const QCString &name)
Definition indexlist.h:129
void addImageFile(const QCString &name)
Definition indexlist.h:126

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

Referenced by generateOutput().

◆ writeSearchInfo()

void HtmlGenerator::writeSearchInfo ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1507 of file htmlgen.cpp.

1508{
1510}
static void writeSearchInfoStatic(TextStream &t, const QCString &relPath)
Definition htmlgen.cpp:1477

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

◆ writeSearchInfoStatic()

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

Definition at line 1477 of file htmlgen.cpp.

1478{
1479 bool searchEngine = Config_getBool(SEARCHENGINE);
1480 bool serverBasedSearch = Config_getBool(SERVER_BASED_SEARCH);
1481 if (searchEngine && !serverBasedSearch)
1482 {
1483 t << "<!-- window showing the filter options -->\n";
1484 t << "<div id=\"MSearchSelectWindow\"\n";
1485 t << " onmouseover=\"return searchBox.OnSearchSelectShow()\"\n";
1486 t << " onmouseout=\"return searchBox.OnSearchSelectHide()\"\n";
1487 t << " onkeydown=\"return searchBox.OnSearchSelectKey(event)\">\n";
1488 t << "</div>\n";
1489 t << "\n";
1490 t << "<!-- iframe showing the search results (closed by default) -->\n";
1491 t << "<div id=\"MSearchResultsWindow\">\n";
1492 t << "<div id=\"MSearchResults\">\n";
1493 t << "<div class=\"SRPage\">\n";
1494 t << "<div id=\"SRIndex\">\n";
1495 t << "<div id=\"SRResults\"></div>\n"; // here the results will be inserted
1496 t << "<div class=\"SRStatus\" id=\"Loading\">" << theTranslator->trLoading() << "</div>\n";
1497 t << "<div class=\"SRStatus\" id=\"Searching\">" << theTranslator->trSearching() << "</div>\n";
1498 t << "<div class=\"SRStatus\" id=\"NoMatches\">" << theTranslator->trNoMatches() << "</div>\n";
1499 t << "</div>\n"; // SRIndex
1500 t << "</div>\n"; // SRPage
1501 t << "</div>\n"; // MSearchResults
1502 t << "</div>\n"; // MSearchResultsWindow
1503 t << "\n";
1504 }
1505}
virtual QCString trLoading()=0
virtual QCString trSearching()=0
virtual QCString trNoMatches()=0

References Config_getBool, theTranslator, Translator::trLoading(), Translator::trNoMatches(), and Translator::trSearching().

Referenced by writeSearchInfo().

◆ writeSearchPage()

void HtmlGenerator::writeSearchPage ( )
static

Definition at line 3030 of file htmlgen.cpp.

3031{
3032 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3033 bool disableIndex = Config_getBool(DISABLE_INDEX);
3034 QCString projectName = Config_getString(PROJECT_NAME);
3035 QCString htmlOutput = Config_getString(HTML_OUTPUT);
3036
3037 // OPENSEARCH_PROVIDER {
3038 QCString configFileName = htmlOutput+"/search_config.php";
3039 std::ofstream f = Portable::openOutputStream(configFileName);
3040 if (f.is_open())
3041 {
3042 TextStream t(&f);
3043 t << "<?php\n\n";
3044 t << "$config = array(\n";
3045 t << " 'PROJECT_NAME' => \"" << convertToHtml(projectName) << "\",\n";
3046 t << " 'GENERATE_TREEVIEW' => " << (generateTreeView?"true":"false") << ",\n";
3047 t << " 'DISABLE_INDEX' => " << (disableIndex?"true":"false") << ",\n";
3048 t << ");\n\n";
3049 t << "$translator = array(\n";
3050 t << " 'search_results_title' => \"" << theTranslator->trSearchResultsTitle() << "\",\n";
3051 t << " 'search_results' => array(\n";
3052 t << " 0 => \"" << theTranslator->trSearchResults(0) << "\",\n";
3053 t << " 1 => \"" << theTranslator->trSearchResults(1) << "\",\n";
3054 t << " 2 => \"" << substitute(theTranslator->trSearchResults(2), "$", "\\$") << "\",\n";
3055 t << " ),\n";
3056 t << " 'search_matches' => \"" << theTranslator->trSearchMatches() << "\",\n";
3057 t << " 'search' => \"" << theTranslator->trSearch() << "\",\n";
3058 t << " 'split_bar' => \"" << substitute(substitute(writeSplitBarAsString("search",""), "\"","\\\""), "\n","\\n") << "\",\n";
3059 t << " 'logo' => \"" << substitute(substitute(writeLogoAsString(""), "\"","\\\""), "\n","\\n") << "\",\n";
3060 t << ");\n\n";
3061 t << "?>\n";
3062 }
3063 f.close();
3064
3065 ResourceMgr::instance().copyResource("search_functions.php",htmlOutput);
3066 ResourceMgr::instance().copyResource("search_opensearch.php",htmlOutput);
3067 // OPENSEARCH_PROVIDER }
3068
3069 QCString fileName = htmlOutput+"/search.php";
3071 if (f.is_open())
3072 {
3073 TextStream t(&f);
3074 t << substituteHtmlKeywords(g_header,"Search","");
3075
3076 t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
3077 << getDoxygenVersion() << " -->\n";
3078 t << "<script type=\"text/javascript\">\n";
3079 t << "/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */\n";
3080 t << "var searchBox = new SearchBox(\"searchBox\", \""
3081 << "search/\",'" << Doxygen::htmlFileExtension << "');\n";
3082 t << "/* @license-end */\n";
3083 t << "</script>\n";
3084 if (!Config_getBool(DISABLE_INDEX))
3085 {
3087 }
3088 else
3089 {
3090 t << "</div>\n";
3091 }
3092
3093 t << "<?php\n";
3094 t << "require_once \"search_functions.php\";\n";
3095 t << "main();\n";
3096 t << "?>\n";
3097
3098 // Write empty navigation path, to make footer connect properly
3099 if (generateTreeView)
3100 {
3101 t << "</div><!-- doc-content -->\n";
3102 }
3103
3104 writePageFooter(t,"Search","","");
3105 }
3106 f.close();
3107
3108 QCString scriptName = htmlOutput+"/search/search.js";
3109 f = Portable::openOutputStream(scriptName);
3110 if (f.is_open())
3111 {
3112 TextStream t(&f);
3113 t << ResourceMgr::instance().getAsString("extsearch.js");
3114 }
3115 else
3116 {
3117 err("Failed to open file '%s' for writing...\n",qPrint(scriptName));
3118 }
3119}
virtual QCString trSearchMatches()=0

References Config_getBool, Config_getString, convertToHtml(), ResourceMgr::copyResource(), err, OutputGenerator::fileName(), g_header, ResourceMgr::getAsString(), Doxygen::htmlFileExtension, ResourceMgr::instance(), Portable::openOutputStream(), qPrint(), Search, substitute(), substituteHtmlKeywords(), theTranslator, Translator::trGeneratedBy(), Translator::trSearch(), Translator::trSearchMatches(), Translator::trSearchResults(), Translator::trSearchResultsTitle(), writeDefaultQuickLinks(), writeLogoAsString(), writePageFooter(), and writeSplitBarAsString().

Referenced by generateOutput().

◆ writeSplitBar()

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

Implements OutputGenIntf.

Definition at line 2994 of file htmlgen.cpp.

2995{
2997}

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

◆ writeSplitBarAsString()

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

Definition at line 2950 of file htmlgen.cpp.

2951{
2952 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
2953 QCString result;
2954 // write split bar
2955 if (generateTreeView)
2956 {
2957 QCString fn = name;
2959 if (!Config_getBool(DISABLE_INDEX) || !Config_getBool(FULL_SIDEBAR))
2960 {
2961 result += QCString(
2962 "<div id=\"side-nav\" class=\"ui-resizable side-nav-resizable\">\n");
2963 }
2964 result+= QCString(
2965 " <div id=\"nav-tree\">\n"
2966 " <div id=\"nav-tree-contents\">\n"
2967 " <div id=\"nav-sync\" class=\"sync\"></div>\n"
2968 " </div>\n"
2969 " </div>\n"
2970 " <div id=\"splitbar\" style=\"-moz-user-select:none;\" \n"
2971 " class=\"ui-resizable-handle\">\n"
2972 " </div>\n"
2973 "</div>\n"
2974 "<script type=\"text/javascript\">\n"
2975 "/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */\n"
2976 "$(function(){initNavTree('") + fn +
2977 QCString("','") + relpath +
2978 QCString("'); initResizable(true); });\n"
2979 "/* @license-end */\n"
2980 "</script>\n"
2981 "<div id=\"doc-content\">\n");
2982 }
2983 else
2984 {
2985 result += "<script type=\"text/javascript\">\n"
2986 "/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */\n"
2987 "$(function(){ initResizable(false); });\n"
2988 "/* @license-end */\n"
2989 "</script>\n";
2990 }
2991 return result;
2992}

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

1735{
1736 m_t << "<li>";
1737 if (!path.isEmpty()) docify(path);
1738 QCString fn = f;
1740 m_t << "<a class=\"el\" href=\"" << fn << "\">";
1741 docify(name);
1742 m_t << "</a> ";
1743}

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

◆ writeString()

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

Implements OutputGenIntf.

Definition at line 1675 of file htmlgen.cpp.

1676{
1677 m_t << text;
1678}

References OutputGenerator::m_t.

◆ writeStyleInfo()

void HtmlGenerator::writeStyleInfo ( int part)
overridevirtual

Implements OutputGenIntf.

Definition at line 1575 of file htmlgen.cpp.

1576{
1577 //printf("writeStyleInfo(%d)\n",part);
1578 if (part==0)
1579 {
1580 if (Config_getString(HTML_STYLESHEET).isEmpty()) // write default style sheet
1581 {
1582 //printf("write doxygen.css\n");
1583 startPlainFile("doxygen.css");
1585 endPlainFile();
1586 Doxygen::indexList->addStyleSheetFile("doxygen.css");
1587 }
1588 else // write user defined style sheet
1589 {
1590 QCString cssName=Config_getString(HTML_STYLESHEET);
1591 if (!cssName.startsWith("http:") && !cssName.startsWith("https:"))
1592 {
1593 FileInfo cssfi(cssName.str());
1594 if (!cssfi.exists() || !cssfi.isFile() || !cssfi.isReadable())
1595 {
1596 err("style sheet %s does not exist or is not readable!\n", qPrint(Config_getString(HTML_STYLESHEET)));
1597 }
1598 else
1599 {
1600 // convert style sheet to string
1601 QCString fileStr = fileToString(cssName);
1602 // write the string into the output dir
1603 startPlainFile(cssfi.fileName().c_str());
1604 m_t << fileStr;
1605 endPlainFile();
1606 }
1607 Doxygen::indexList->addStyleSheetFile(cssfi.fileName().c_str());
1608 }
1609 }
1610 const StringVector &extraCssFiles = Config_getList(HTML_EXTRA_STYLESHEET);
1611 for (const auto &fileName : extraCssFiles)
1612 {
1613 if (!fileName.empty())
1614 {
1615 FileInfo fi(fileName);
1616 if (fi.exists())
1617 {
1618 Doxygen::indexList->addStyleSheetFile(fi.fileName().c_str());
1619 }
1620 }
1621 }
1622
1625 Doxygen::indexList->addStyleSheetFile("navtree.css");
1626
1627 Doxygen::indexList->addStyleSheetFile("dynsections.js");
1628
1629 if (Config_getEnum(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE)
1630 {
1631 Doxygen::indexList->addStyleSheetFile("darkmode_toggle.js");
1632 }
1633
1634 if (Config_getBool(INTERACTIVE_SVG))
1635 {
1637 }
1638
1639 if (!Config_getBool(DISABLE_INDEX) && Config_getBool(HTML_DYNAMIC_MENUS))
1640 {
1642 Doxygen::indexList->addStyleSheetFile("menudata.js");
1643 }
1644 }
1645}
Minimal replacement for QFileInfo.
Definition fileinfo.h:23
bool startsWith(const char *s) const
Definition qcstring.h:483
static void writeDefaultStyleSheet(TextStream &t)
Definition htmlgen.cpp:1357

References IndexList::addStyleSheetFile(), 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, qPrint(), startPlainFile(), QCString::startsWith(), QCString::str(), and writeDefaultStyleSheet().

◆ writeStyleSheetFile()

void HtmlGenerator::writeStyleSheetFile ( TextStream & t)
static

Definition at line 1414 of file htmlgen.cpp.

1415{
1418}

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

3428{
3429 if (first)
3430 {
3431 m_t << " <div class=\"summary\">\n";
3432 }
3433 else
3434 {
3435 m_t << " &#124;\n";
3436 }
3437 m_t << "<a href=\"";
3438 if (!file.isEmpty())
3439 {
3440 QCString fn = file;
3442 m_t << m_relPath << fn;
3443 }
3444 else if (!anchor.isEmpty())
3445 {
3446 m_t << "#";
3447 m_t << anchor;
3448 }
3449 m_t << "\">";
3450 m_t << title;
3451 m_t << "</a>";
3452}

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

◆ writeSynopsis()

void HtmlGenerator::writeSynopsis ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 224 of file htmlgen.h.

224{}

◆ writeTabData()

void HtmlGenerator::writeTabData ( )
static

Additional initialization after indices have been created.

Definition at line 1260 of file htmlgen.cpp.

1261{
1263 QCString dname=Config_getString(HTML_OUTPUT);
1265 //writeColoredImgData(dname,colored_tab_data);
1266 mgr.copyResource("tab_a.lum",dname); // active, light mode
1267 mgr.copyResource("tab_b.lum",dname); // normal, light mode
1268 mgr.copyResource("tab_h.lum",dname); // highlight, light mode
1269 mgr.copyResource("tab_s.lum",dname); // separator, light mode
1270 mgr.copyResource("tab_ad.lum",dname); // active, dark mode
1271 mgr.copyResource("tab_bd.lum",dname); // normal, dark mode
1272 mgr.copyResource("tab_hd.lum",dname); // highlight, dark mode
1273 mgr.copyResource("tab_sd.lum",dname); // separator, light mode
1274 mgr.copyResource("nav_h.lum",dname); // header gradient, light mode
1275 mgr.copyResource("nav_hd.lum",dname); // header gradient, dark mode
1276 mgr.copyResource("nav_f.lum",dname); // member definition header, light mode
1277 mgr.copyResource("nav_fd.lum",dname); // member definition header, dark mode
1278 mgr.copyResource("bc_s.luma",dname); // breadcrumb separator, light mode
1279 mgr.copyResource("bc_sd.luma",dname); // breadcrumb separator, dark mode
1280 mgr.copyResource("doxygen.svg",dname);
1281 Doxygen::indexList->addImageFile("doxygen.svg");
1282 mgr.copyResource("closed.luma",dname);
1283 mgr.copyResource("open.luma",dname);
1284 mgr.copyResource("sync_on.luma",dname);
1285 mgr.copyResource("sync_off.luma",dname);
1286 mgr.copyResource("nav_g.png",dname);
1287 Doxygen::indexList->addImageFile("nav_g.png");
1288 mgr.copyResource("plus.svg",dname);
1289 Doxygen::indexList->addImageFile("plus.svg");
1290 mgr.copyResource("minus.svg",dname);
1291 Doxygen::indexList->addImageFile("minus.svg");
1292 mgr.copyResource("plusd.svg",dname);
1293 Doxygen::indexList->addImageFile("plusd.svg");
1294 mgr.copyResource("minusd.svg",dname);
1295 Doxygen::indexList->addImageFile("minusd.svg");
1296}

References IndexList::addImageFile(), IndexList::addStyleSheetFile(), 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 322 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 321 of file htmlgen.h.

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

◆ m_emptySection

bool HtmlGenerator::m_emptySection = false
private

◆ m_lastFile

QCString HtmlGenerator::m_lastFile
private

Definition at line 317 of file htmlgen.h.

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

◆ m_lastTitle

QCString HtmlGenerator::m_lastTitle
private

Definition at line 316 of file htmlgen.h.

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

◆ m_relPath

◆ m_sectionCount


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