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, const bool hasInits) override
 
void endDescTable () override
 
void startDescTableRow () override
 
void endDescTableRow () override
 
void startDescTableTitle () override
 
void endDescTableTitle () override
 
void startDescTableInit () override
 
void endDescTableInit () override
 
void startDescTableData () override
 
void endDescTableData () override
 
void startDotGraph () override
 
void endDotGraph (DotClassGraph &g) override
 
void startInclDepGraph () override
 
void endInclDepGraph (DotInclDepGraph &g) override
 
void startGroupCollaboration () override
 
void endGroupCollaboration (DotGroupCollaboration &g) override
 
void startCallGraph () override
 
void endCallGraph (DotCallGraph &g) override
 
void startDirDepGraph () override
 
void endDirDepGraph (DotDirDeps &g) override
 
void writeGraphicalHierarchy (DotGfxHierarchyTable &g) override
 
void startTextBlock (bool) override
 
void endTextBlock (bool) override
 
void lastIndexPage () override
 
void startMemberDocPrefixItem () override
 
void endMemberDocPrefixItem () override
 
void startMemberDocName (bool) override
 
void endMemberDocName () override
 
void startParameterType (bool first, const QCString &key) override
 
void endParameterType () override
 
void startParameterName (bool) override
 
void endParameterName () override
 
void startParameterExtra () override
 
void endParameterExtra (bool last, bool emptyList, bool closeBracket) override
 
void startParameterDefVal (const char *sep) override
 
void endParameterDefVal () override
 
void startParameterList (bool) override
 
void endParameterList () override
 
void exceptionEntry (const QCString &, bool) override
 
void startConstraintList (const QCString &) override
 
void startConstraintParam () override
 
void endConstraintParam () override
 
void startConstraintType () override
 
void endConstraintType () override
 
void startConstraintDocs () override
 
void endConstraintDocs () override
 
void endConstraintList () override
 
void startMemberDocSimple (bool) override
 
void endMemberDocSimple (bool) override
 
void startInlineMemberType () override
 
void endInlineMemberType () override
 
void startInlineMemberName () override
 
void endInlineMemberName () override
 
void startInlineMemberDoc () override
 
void endInlineMemberDoc () override
 
void startLabels () override
 
void writeLabel (const QCString &l, bool isLast) override
 
void endLabels () override
 
void 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 94 of file htmlgen.h.

Constructor & Destructor Documentation

◆ HtmlGenerator() [1/3]

HtmlGenerator::HtmlGenerator ( )

Definition at line 1090 of file htmlgen.cpp.

1091 : OutputGenerator(Config_getString(HTML_OUTPUT))
1092 , m_codeList(std::make_unique<OutputCodeList>())
1093{
1094 //printf("%p:HtmlGenerator()\n",(void*)this);
1095 m_codeGen = m_codeList->add<HtmlCodeGenerator>(&m_t);
1096}
HtmlCodeGenerator * m_codeGen
Definition htmlgen.h:344
std::unique_ptr< OutputCodeList > m_codeList
Definition htmlgen.h:343
TextStream m_t
Definition outputgen.h:116
#define Config_getString(name)
Definition config.h:32

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

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

◆ HtmlGenerator() [2/3]

HtmlGenerator::HtmlGenerator ( const HtmlGenerator & og)

Definition at line 1098 of file htmlgen.cpp.

1098 : OutputGenerator(og.m_dir), OutputGenIntf()
1099{
1100 //printf("%p:HtmlGenerator(copy %p)\n",(void*)this,(void*)&og);
1101 m_codeList = std::make_unique<OutputCodeList>(*og.m_codeList);
1102 m_codeGen = m_codeList->get<HtmlCodeGenerator>(OutputType::Html);
1103 m_codeGen->setTextStream(&m_t);
1106 m_relPath = og.m_relPath;
1109}
int m_sectionCount
Definition htmlgen.h:341
QCString m_lastFile
Definition htmlgen.h:339
QCString m_relPath
Definition htmlgen.h:340
bool m_emptySection
Definition htmlgen.h:342
QCString m_lastTitle
Definition htmlgen.h:338
QCString m_dir
Definition outputgen.h:117

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

◆ HtmlGenerator() [3/3]

HtmlGenerator::HtmlGenerator ( HtmlGenerator && )
delete

References HtmlGenerator().

◆ ~HtmlGenerator()

HtmlGenerator::~HtmlGenerator ( )
default

Member Function Documentation

◆ addCodeGen()

void HtmlGenerator::addCodeGen ( OutputCodeList & list)
overridevirtual

Implements OutputGenIntf.

Definition at line 1131 of file htmlgen.cpp.

1132{
1134}
void add(OutputCodeIntfPtr &&p)
Definition outputlist.h:194
OutputCodeDefer< HtmlCodeGenerator > HtmlCodeGeneratorDefer
Definition outputlist.h:101

References OutputCodeList::add(), and m_codeGen.

◆ addIndexItem()

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

Implements OutputGenIntf.

Definition at line 2567 of file htmlgen.cpp.

2568{
2569}

◆ addLabel()

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

Implements OutputGenIntf.

Definition at line 1690 of file htmlgen.cpp.

1691{
1692}

◆ cleanup()

void HtmlGenerator::cleanup ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1284 of file htmlgen.cpp.

1285{
1286 QCString dname = Config_getString(HTML_OUTPUT);
1287 Dir d(dname.str());
1288 clearSubDirs(d);
1289}
const std::string & str() const
Definition qcstring.h:537
void clearSubDirs(const Dir &d)
Definition util.cpp:4167

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

◆ clearBuffer()

void HtmlGenerator::clearBuffer ( )

◆ clone()

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

Implements OutputGenIntf.

Definition at line 122 of file htmlgen.h.

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

◆ docify()

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

Implements OutputGenIntf.

Definition at line 1881 of file htmlgen.cpp.

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

1887{
1888 if (!str.isEmpty())
1889 {
1890 const char *p=str.data();
1891 while (*p)
1892 {
1893 char c=*p++;
1894 switch(c)
1895 {
1896 case '<': m_t << "&lt;"; break;
1897 case '>': m_t << "&gt;"; break;
1898 case '&': m_t << "&amp;"; break;
1899 case '"': m_t << "&quot;"; break;
1900 case '-': if (inHtmlComment) m_t << "&#45;"; else m_t << "-"; break;
1901 case '\\':
1902 if (*p=='<')
1903 { m_t << "&lt;"; p++; }
1904 else if (*p=='>')
1905 { m_t << "&gt;"; p++; }
1906 else if (*p=='(')
1907 { m_t << "\\&zwj;("; p++; }
1908 else if (*p==')')
1909 { m_t << "\\&zwj;)"; p++; }
1910 else
1911 m_t << "\\";
1912 break;
1913 default: m_t << c;
1914 }
1915 }
1916 }
1917}

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

Referenced by docify().

◆ endAnonTypeScope()

void HtmlGenerator::endAnonTypeScope ( int )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 185 of file htmlgen.h.

185{}

◆ endBold()

void HtmlGenerator::endBold ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 216 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endCallGraph()

void HtmlGenerator::endCallGraph ( DotCallGraph & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2490 of file htmlgen.cpp.

2491{
2496
2498
2501}
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool writeImageMap=TRUE, int graphId=-1)
QCString dir() const
Definition outputgen.cpp:52
QCString fileName() const
Definition outputgen.cpp:57
static void startSectionContent(TextStream &t, int sectionCount)
Definition htmlgen.cpp:1977
static void startSectionSummary(TextStream &t, int sectionCount)
Definition htmlgen.cpp:1955
static void endSectionContent(TextStream &t)
Definition htmlgen.cpp:1993
static void endSectionHeader(TextStream &t)
Definition htmlgen.cpp:1949
static void endSectionSummary(TextStream &t)
Definition htmlgen.cpp:1967
#define TRUE
Definition qcstring.h:37

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

◆ endCenter()

void HtmlGenerator::endCenter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 234 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endClassDiagram()

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

Implements OutputGenIntf.

Definition at line 2006 of file htmlgen.cpp.

2008{
2013 TextStream tt;
2015 if (!tt.empty())
2016 {
2017 m_t << " <div class=\"center\">\n";
2018 m_t << " <img src=\"";
2019 m_t << m_relPath << fileName << ".png\" usemap=\"#" << convertToId(name);
2020 m_t << "_map\" alt=\"\"/>\n";
2021 m_t << " <map id=\"" << convertToId(name);
2022 m_t << "_map\" name=\"" << convertToId(name);
2023 m_t << "_map\">\n";
2024 m_t << tt.str();
2025 m_t << " </map>\n";
2026 m_t << "</div>";
2027 }
2028 else
2029 {
2030 m_t << " <div class=\"center\">\n";
2031 m_t << " <img src=\"";
2032 m_t << m_relPath << fileName << ".png\" alt=\"\"/>\n";
2033 m_t << " </div>";
2034 }
2037}
void writeImage(TextStream &t, const QCString &path, const QCString &relPath, const QCString &file, bool generateMap=true) const
Definition diagram.cpp:1369
bool empty() const
Returns true iff the buffer is empty.
Definition textstream.h:253
std::string str() const
Return the contents of the buffer as a std::string object.
Definition textstream.h:229
QCString convertToId(const QCString &s)
Definition util.cpp:4372

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

2106{
2107 m_t << "</div>";
2108}

References OutputGenerator::m_t.

◆ endConstraintDocs()

void HtmlGenerator::endConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3333 of file htmlgen.cpp.

3334{
3335 m_t << "</td></tr>\n";
3336}

References OutputGenerator::m_t.

◆ endConstraintList()

void HtmlGenerator::endConstraintList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3338 of file htmlgen.cpp.

3339{
3340 m_t << "</table>\n";
3341 m_t << "</dd>\n";
3342 m_t << "</dl>\n";
3343 m_t << "</div>\n";
3344}

References OutputGenerator::m_t.

◆ endConstraintParam()

void HtmlGenerator::endConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3313 of file htmlgen.cpp.

3314{
3315 m_t << "</em></td>";
3316}

References OutputGenerator::m_t.

◆ endConstraintType()

void HtmlGenerator::endConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3323 of file htmlgen.cpp.

3324{
3325 m_t << "</em></td>";
3326}

References OutputGenerator::m_t.

◆ endContents()

void HtmlGenerator::endContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3073 of file htmlgen.cpp.

3074{
3075 m_t << "</div><!-- contents -->\n";
3076}

References OutputGenerator::m_t.

◆ endDescForItem()

void HtmlGenerator::endDescForItem ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 218 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endDescTable()

void HtmlGenerator::endDescTable ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2584 of file htmlgen.cpp.

2585{
2586 m_t << "</table>\n";
2587}

References OutputGenerator::m_t.

◆ endDescTableData()

void HtmlGenerator::endDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2624 of file htmlgen.cpp.

2625{
2626 m_t << "</td>";
2627}

References OutputGenerator::m_t.

◆ endDescTableInit()

void HtmlGenerator::endDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2614 of file htmlgen.cpp.

2615{
2616 m_t << "&#160;</td>";
2617}

References OutputGenerator::m_t.

◆ endDescTableRow()

void HtmlGenerator::endDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2594 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ endDescTableTitle()

void HtmlGenerator::endDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2604 of file htmlgen.cpp.

2605{
2606 m_t << "&#160;</td>";
2607}

References OutputGenerator::m_t.

◆ endDirDepGraph()

void HtmlGenerator::endDirDepGraph ( DotDirDeps & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2508 of file htmlgen.cpp.

2509{
2514
2516
2519}
QCString writeGraph(TextStream &out, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool writeImageMap=TRUE, int graphId=-1, bool linkRelations=TRUE)

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

◆ endDotGraph()

void HtmlGenerator::endDotGraph ( DotClassGraph & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2420 of file htmlgen.cpp.

2421{
2422 bool generateLegend = Config_getBool(GENERATE_LEGEND);
2423 bool umlLook = Config_getBool(UML_LOOK);
2428
2430 if (generateLegend && !umlLook)
2431 {
2432 QCString url = m_relPath+"graph_legend"+Doxygen::htmlFileExtension;
2433 m_t << "<center><span class=\"legend\">[";
2434 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
2435 m_t << "<a ";
2436 if (generateTreeView) m_t << "target=\"top\" ";
2437 m_t << "href=\"";
2438 if (!url.isEmpty()) m_t << url;
2439 m_t << "\">";
2441 m_t << "</a>";
2442 m_t << "]</span></center>";
2443 }
2444
2447}
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool TBRank=TRUE, bool imageMap=TRUE, int graphId=-1)
static QCString htmlFileExtension
Definition doxygen.h:122
bool isEmpty() const
Returns TRUE iff the string is empty.
Definition qcstring.h:150
virtual QCString trLegend()=0
#define Config_getBool(name)
Definition config.h:33
Translator * theTranslator
Definition language.cpp:71

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

◆ endDoxyAnchor()

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

Implements OutputGenIntf.

Definition at line 1686 of file htmlgen.cpp.

1687{
1688}

◆ endEmphasis()

void HtmlGenerator::endEmphasis ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 214 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endExamples()

void HtmlGenerator::endExamples ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2636 of file htmlgen.cpp.

2637{
2638 m_t << "</dl>\n";
2639}

References OutputGenerator::m_t.

◆ endFile()

void HtmlGenerator::endFile ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1592 of file htmlgen.cpp.

1593{
1594 endPlainFile();
1595}
void endPlainFile() override
Definition htmlgen.h:330

References endPlainFile().

◆ endGroupCollaboration()

void HtmlGenerator::endGroupCollaboration ( DotGroupCollaboration & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2472 of file htmlgen.cpp.

2473{
2478
2480
2483}
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool writeImageMap=TRUE, int graphId=-1)

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

◆ endGroupHeader()

void HtmlGenerator::endGroupHeader ( int extraIndentLevel)
overridevirtual

Implements OutputGenIntf.

Definition at line 1834 of file htmlgen.cpp.

1835{
1836 if (extraIndentLevel==2)
1837 {
1838 m_t << "</h4>\n";
1839 }
1840 else if (extraIndentLevel==1)
1841 {
1842 m_t << "</h3>\n";
1843 }
1844 else
1845 {
1846 m_t << "</h2>\n";
1847 }
1848}

References OutputGenerator::m_t.

◆ endHeaderSection()

void HtmlGenerator::endHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3375 of file htmlgen.cpp.

3376{
3377 m_t << "</div><!--header-->\n";
3378}

References OutputGenerator::m_t.

◆ endInclDepGraph()

void HtmlGenerator::endInclDepGraph ( DotInclDepGraph & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2454 of file htmlgen.cpp.

2455{
2460
2462
2465}
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool writeImageMap=TRUE, int graphId=-1)

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

◆ endIndent()

void HtmlGenerator::endIndent ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2561 of file htmlgen.cpp.

2562{
2563 DBG_HTML(m_t << "<!-- endIndent -->\n";)
2564 m_t << "\n</div>\n" << "</div>\n";
2565}
#define DBG_HTML(x)
Definition htmlgen.cpp:62

References DBG_HTML, and OutputGenerator::m_t.

◆ endIndexItem()

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

Implements OutputGenIntf.

Definition at line 1752 of file htmlgen.cpp.

1753{
1754 //printf("HtmlGenerator::endIndexItem(%s,%s,%s)\n",ref,f,name);
1755 if (!ref.isEmpty() || !f.isEmpty())
1756 {
1757 m_t << "</a>";
1758 }
1759 else
1760 {
1761 m_t << "</b>";
1762 }
1763}

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

◆ endIndexKey()

void HtmlGenerator::endIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2224 of file htmlgen.cpp.

2225{
2226 //m_t << "</td>";
2227}

◆ endIndexList()

void HtmlGenerator::endIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2214 of file htmlgen.cpp.

2215{
2216 m_t << "</table>\n";
2217}

References OutputGenerator::m_t.

◆ endIndexListItem()

void HtmlGenerator::endIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1717 of file htmlgen.cpp.

1718{
1719 m_t << "</li>\n";
1720}

References OutputGenerator::m_t.

◆ endIndexSection()

void HtmlGenerator::endIndexSection ( IndexSection )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 133 of file htmlgen.h.

133{}

◆ endIndexValue()

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

Implements OutputGenIntf.

Definition at line 2234 of file htmlgen.cpp.

2235{
2236 //m_t << "</td></tr>\n";
2237}

◆ endInlineHeader()

void HtmlGenerator::endInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3390 of file htmlgen.cpp.

3391{
3392 m_t << "</h3></td></tr>\n";
3393}

References OutputGenerator::m_t.

◆ endInlineMemberDoc()

void HtmlGenerator::endInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3440 of file htmlgen.cpp.

3441{
3442 DBG_HTML(m_t << "<!-- endInlineMemberDoc -->\n";)
3443 m_t << "</td></tr>\n";
3444}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberName()

void HtmlGenerator::endInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3428 of file htmlgen.cpp.

3429{
3430 DBG_HTML(m_t << "<!-- endInlineMemberName -->\n";)
3431 m_t << "</td>\n";
3432}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberType()

void HtmlGenerator::endInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3416 of file htmlgen.cpp.

3417{
3418 DBG_HTML(m_t << "<!-- endInlineMemberType -->\n";)
3419 m_t << "</td>\n";
3420}

References DBG_HTML, and OutputGenerator::m_t.

◆ endItemList()

void HtmlGenerator::endItemList ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 153 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endItemListItem()

void HtmlGenerator::endItemListItem ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 168 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endLabels()

void HtmlGenerator::endLabels ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3492 of file htmlgen.cpp.

3493{
3494 DBG_HTML(m_t << "<!-- endLabels -->\n";)
3495 m_t << "</span>";
3496}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDeclaration()

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

Implements OutputGenIntf.

Definition at line 3556 of file htmlgen.cpp.

3557{
3558 m_t << "<tr class=\"separator:" << anchor;
3559 if (!inheritId.isEmpty())
3560 {
3561 m_t << " inherit " << inheritId;
3562 }
3563 m_t << "\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n";
3564}

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

◆ endMemberDescription()

void HtmlGenerator::endMemberDescription ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2148 of file htmlgen.cpp.

2149{
2150 DBG_HTML(m_t << "<!-- endMemberDescription -->\n")
2151 m_t << "<br /></td></tr>\n";
2152}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDoc()

void HtmlGenerator::endMemberDoc ( bool hasArgs)
overridevirtual

Implements OutputGenIntf.

Definition at line 2404 of file htmlgen.cpp.

2405{
2406 DBG_HTML(m_t << "<!-- endMemberDoc -->\n";)
2407 if (!hasArgs)
2408 {
2409 m_t << " </tr>\n";
2410 }
2411 m_t << " </table>\n";
2412 // m_t << "</div>\n";
2413}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocList()

void HtmlGenerator::endMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2244 of file htmlgen.cpp.

2245{
2246 DBG_HTML(m_t << "<!-- endMemberDocList -->\n";)
2247}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocName()

void HtmlGenerator::endMemberDocName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2288 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocPrefixItem()

void HtmlGenerator::endMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2272 of file htmlgen.cpp.

2273{
2274 DBG_HTML(m_t << "<!-- endMemberDocPrefixItem -->\n";)
2275 m_t << "</div>\n";
2276}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocSimple()

void HtmlGenerator::endMemberDocSimple ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 3404 of file htmlgen.cpp.

3405{
3406 DBG_HTML(m_t << "<!-- endMemberDocSimple -->\n";)
3407 m_t << "</table>\n";
3408}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberGroup()

void HtmlGenerator::endMemberGroup ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2550 of file htmlgen.cpp.

2551{
2552}

◆ endMemberGroupDocs()

void HtmlGenerator::endMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2541 of file htmlgen.cpp.

2542{
2543 m_t << "</div></td></tr>\n";
2544}

References OutputGenerator::m_t.

◆ endMemberGroupHeader()

void HtmlGenerator::endMemberGroupHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2531 of file htmlgen.cpp.

2532{
2533 m_t << "</div></td></tr>\n";
2534}

References OutputGenerator::m_t.

◆ endMemberHeader()

void HtmlGenerator::endMemberHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2191 of file htmlgen.cpp.

2192{
2193 DBG_HTML(m_t << "<!-- endMemberHeader -->\n")
2194 m_t << "</h2></td></tr>\n";
2195}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberItem()

void HtmlGenerator::endMemberItem ( MemberItemType type)
overridevirtual

Implements OutputGenIntf.

Definition at line 2076 of file htmlgen.cpp.

2077{
2079 {
2080 insertMemberAlign(false);
2081 }
2082 m_t << "</td></tr>\n";
2083}
OutputType type() const override
Definition htmlgen.h:121
void insertMemberAlign(bool) override
Definition htmlgen.cpp:2110

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

◆ endMemberList()

void HtmlGenerator::endMemberList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2045 of file htmlgen.cpp.

2046{
2047 DBG_HTML(m_t << "<!-- endMemberList -->\n")
2048}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberSections()

void HtmlGenerator::endMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2162 of file htmlgen.cpp.

2163{
2164 DBG_HTML(m_t << "<!-- endMemberSections -->\n")
2166 {
2167 m_t << "</table>\n";
2168 }
2169}
if(strLen >35 &&floatingIndex >30 &&autoBreak)
Definition util.cpp:949

References DBG_HTML, m_emptySection, and OutputGenerator::m_t.

◆ endMemberSubtitle()

void HtmlGenerator::endMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2203 of file htmlgen.cpp.

2204{
2205 DBG_HTML(m_t << "<!-- endMemberSubtitle -->\n")
2206 m_t << "</td></tr>\n";
2207}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberTemplateParams()

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

Implements OutputGenIntf.

Definition at line 2089 of file htmlgen.cpp.

2090{
2091 m_t << "</td></tr>\n";
2092 m_t << "<tr class=\"memitem:" << anchor;
2093 if (!inheritId.isEmpty())
2094 {
2095 m_t << " inherit " << inheritId;
2096 }
2097 m_t << "\"><td class=\"memTemplItemLeft\" align=\"right\" valign=\"top\">";
2098}

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

◆ endPageDoc()

void HtmlGenerator::endPageDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3083 of file htmlgen.cpp.

3084{
3085 m_t << "</div><!-- PageDoc -->\n";
3086}

References OutputGenerator::m_t.

◆ endPageRef()

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

Implements OutputGenIntf.

Definition at line 248 of file htmlgen.h.

248{}

◆ endParagraph()

void HtmlGenerator::endParagraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1702 of file htmlgen.cpp.

1703{
1704 m_t << "</p>\n";
1705}

References OutputGenerator::m_t.

◆ endParameterDefVal()

void HtmlGenerator::endParameterDefVal ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2373 of file htmlgen.cpp.

2374{
2375 m_t << "</span>";
2376}

References OutputGenerator::m_t.

◆ endParameterExtra()

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

Implements OutputGenIntf.

Definition at line 2342 of file htmlgen.cpp.

2343{
2344 DBG_HTML(m_t << "<!-- endParameterExtra -->\n";)
2345 if (last)
2346 {
2347 if (emptyList)
2348 {
2349 if (closeBracket) m_t << "</td><td>)";
2350 m_t << "</td>\n";
2351 m_t << " <td>";
2352 }
2353 else
2354 {
2355 m_t << "&#160;";
2356 if (closeBracket) m_t << ")";
2357 }
2358 }
2359 else
2360 {
2361 m_t << "</td>\n";
2362 m_t << " </tr>\n";
2363 }
2364}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterList()

void HtmlGenerator::endParameterList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2378 of file htmlgen.cpp.

2379{
2380 DBG_HTML(m_t << "<!-- endParameterList -->\n";)
2381 m_t << "</td>\n";
2382 m_t << " </tr>\n";
2383}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterName()

void HtmlGenerator::endParameterName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2331 of file htmlgen.cpp.

2332{
2333 DBG_HTML(m_t << "<!-- endParameterName -->\n";)
2334 m_t << "</em></span>";
2335}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterType()

void HtmlGenerator::endParameterType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2319 of file htmlgen.cpp.

2320{
2321 DBG_HTML(m_t << "<!-- endParameterType -->\n";)
2322 m_t << "</td>";
2323}

References DBG_HTML, and OutputGenerator::m_t.

◆ endPlainFile()

void HtmlGenerator::endPlainFile ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 330 of file htmlgen.h.

References OutputGenerator::endPlainFile().

Referenced by endFile(), and writeStyleInfo().

◆ endProjectNumber()

void HtmlGenerator::endProjectNumber ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1602 of file htmlgen.cpp.

1603{
1604 m_t << "</h3>";
1605}

References OutputGenerator::m_t.

◆ endQuickIndices()

void HtmlGenerator::endQuickIndices ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3001 of file htmlgen.cpp.

3002{
3003 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3004 m_t << "</div><!-- top -->\n";
3005 if (!generateTreeView)
3006 {
3007 m_t << "<div id=\"doc-content\">\n";
3008 }
3009}

References Config_getBool, and OutputGenerator::m_t.

◆ endSection()

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

Implements OutputGenIntf.

Definition at line 1866 of file htmlgen.cpp.

1867{
1868 switch(type.level())
1869 {
1870 case SectionType::Page: m_t << "</h1>"; break;
1871 case SectionType::Section: m_t << "</h2>"; break;
1872 case SectionType::Subsection: m_t << "</h3>"; break;
1873 case SectionType::Subsubsection: m_t << "</h4>"; break;
1874 case SectionType::Paragraph: m_t << "</h5>"; break;
1875 case SectionType::Subparagraph: m_t << "</h6>"; break;
1876 case SectionType::Subsubparagraph: m_t << "</h6>"; break;
1877 default: ASSERT(0); break;
1878 }
1879}
static constexpr int Section
Definition section.h:33
static constexpr int Subsection
Definition section.h:34
static constexpr int Subsubsection
Definition section.h:35
static constexpr int Page
Definition section.h:31
static constexpr int Paragraph
Definition section.h:36
static constexpr int Subsubparagraph
Definition section.h:38
static constexpr int Subparagraph
Definition section.h:37
#define ASSERT(x)
Definition qcstring.h:39

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

◆ endSmall()

void HtmlGenerator::endSmall ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 236 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endTextBlock()

void HtmlGenerator::endTextBlock ( bool )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 286 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endTextLink()

void HtmlGenerator::endTextLink ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1813 of file htmlgen.cpp.

1814{
1815 m_t << "</a>";
1816}

References OutputGenerator::m_t.

◆ endTitle()

void HtmlGenerator::endTitle ( )
inlineprivate

Definition at line 334 of file htmlgen.h.

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

References OutputGenerator::m_t.

Referenced by endTitleHead().

◆ endTitleHead()

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

Implements OutputGenIntf.

Definition at line 3369 of file htmlgen.cpp.

3370{
3371 endTitle();
3372 m_t << "</div>\n";
3373}
void endTitle()
Definition htmlgen.h:334

References endTitle(), and OutputGenerator::m_t.

◆ endTypewriter()

void HtmlGenerator::endTypewriter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 164 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ exceptionEntry()

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

Implements OutputGenIntf.

Definition at line 2385 of file htmlgen.cpp.

2386{
2387 DBG_HTML(m_t << "<!-- exceptionEntry -->\n";)
2388 if (!closeBracket)
2389 {
2390 m_t << "</td>\n";
2391 m_t << " </tr>\n";
2392 m_t << " <tr>\n";
2393 m_t << " <td align=\"right\">";
2394 }
2395 // colspan 2 so it gets both parameter type and parameter name columns
2396 if (!prefix.isEmpty())
2397 m_t << prefix << "</td><td>(</td><td colspan=\"2\">";
2398 else if (closeBracket)
2399 m_t << "&#160;)</td><td></td><td></td><td>";
2400 else
2401 m_t << "</td><td></td><td colspan=\"2\">";
2402}
constexpr auto prefix
Definition anchor.cpp:44

References DBG_HTML, OutputGenerator::m_t, and prefix.

◆ getMathJaxMacros()

QCString HtmlGenerator::getMathJaxMacros ( )
static

Definition at line 3566 of file htmlgen.cpp.

3567{
3568 return getConvertLatexMacro();
3569}
static QCString getConvertLatexMacro()
Convert a set of LaTeX commands \‍(re)newcommand to a form readable by MathJax LaTeX syntax:
Definition htmlgen.cpp:146

References getConvertLatexMacro().

◆ getNavTreeCss()

QCString HtmlGenerator::getNavTreeCss ( )
static

Definition at line 3571 of file htmlgen.cpp.

3572{
3573 ResourceMgr &mgr = ResourceMgr::instance();
3574 return replaceVariables(mgr.getAsString("navtree.css"));
3575}
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:668

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

Referenced by init().

◆ init()

void HtmlGenerator::init ( )
static

Definition at line 1136 of file htmlgen.cpp.

1137{
1138 QCString dname = Config_getString(HTML_OUTPUT);
1139 Dir d(dname.str());
1140 if (!d.exists() && !d.mkdir(dname.str()))
1141 {
1142 term("Could not create output directory {}\n",dname);
1143 }
1144 //writeLogo(dname);
1145 if (!Config_getString(HTML_HEADER).isEmpty())
1146 {
1148 //printf("g_header='%s'\n",qPrint(g_header));
1149 QCString result = substituteHtmlKeywords(g_header,QCString(),QCString());
1150 checkBlocks(result,Config_getString(HTML_HEADER),htmlMarkerInfo);
1151 }
1152 else
1153 {
1154 g_header = ResourceMgr::instance().getAsString("header.html");
1155 QCString result = substituteHtmlKeywords(g_header,QCString(),QCString());
1156 checkBlocks(result,"<default header.html>",htmlMarkerInfo);
1157 }
1158
1159 if (!Config_getString(HTML_FOOTER).isEmpty())
1160 {
1162 //printf("g_footer='%s'\n",qPrint(g_footer));
1163 QCString result = substituteHtmlKeywords(g_footer,QCString(),QCString());
1164 checkBlocks(result,Config_getString(HTML_FOOTER),htmlMarkerInfo);
1165 }
1166 else
1167 {
1168 g_footer = ResourceMgr::instance().getAsString("footer.html");
1169 QCString result = substituteHtmlKeywords(g_footer,QCString(),QCString());
1170 checkBlocks(result,"<default footer.html>",htmlMarkerInfo);
1171 }
1172
1173 if (Config_getBool(USE_MATHJAX))
1174 {
1175 if (!Config_getString(MATHJAX_CODEFILE).isEmpty())
1176 {
1177 g_mathjax_code=fileToString(Config_getString(MATHJAX_CODEFILE));
1178 //printf("g_mathjax_code='%s'\n",qPrint(g_mathjax_code));
1179 }
1181 //printf("converted g_latex_macro='%s'\n",qPrint(g_latex_macro));
1182 }
1183 createSubDirs(d);
1184
1186
1187 ResourceMgr &mgr = ResourceMgr::instance();
1188
1189 {
1190 QCString tabsCss;
1191 if (Config_getBool(HTML_DYNAMIC_MENUS))
1192 {
1193 tabsCss = mgr.getAsString("tabs.css");
1194 }
1195 else // stylesheet for the 'old' static tabs
1196 {
1197 tabsCss = mgr.getAsString("fixed_tabs.css");
1198 }
1199
1200 std::ofstream f = Portable::openOutputStream(dname+"/tabs.css");
1201 if (f.is_open())
1202 {
1203 TextStream t(&f);
1204 t << replaceVariables(tabsCss);
1205 }
1206 }
1207
1208
1209 mgr.copyResource("jquery.js",dname);
1210 if (Config_getBool(INTERACTIVE_SVG))
1211 {
1212 mgr.copyResource("svg.min.js",dname);
1213 }
1214
1215 if (!Config_getBool(DISABLE_INDEX) && Config_getBool(HTML_DYNAMIC_MENUS))
1216 {
1217 mgr.copyResource("menu.js",dname);
1218 }
1219
1220 // copy navtree.css
1221 {
1222 std::ofstream f = Portable::openOutputStream(dname+"/navtree.css");
1223 if (f.is_open())
1224 {
1225 TextStream t(&f);
1226 t << getNavTreeCss();
1227 }
1228 }
1229
1230 // copy resize.js
1231 {
1232 std::ofstream f = Portable::openOutputStream(dname+"/resize.js");
1233 if (f.is_open())
1234 {
1235 TextStream t(&f);
1236 t << substitute(
1237 substitute(mgr.getAsString("resize.js"),
1238 "$TREEVIEW_WIDTH", QCString().setNum(Config_getInt(TREEVIEW_WIDTH))),
1239 "$PROJECTID", getProjectId());
1240 }
1241 }
1242
1243 if (Config_getBool(HTML_COPY_CLIPBOARD))
1244 {
1245 std::ofstream f = Portable::openOutputStream(dname+"/clipboard.js");
1246 if (f.is_open())
1247 {
1248 TextStream t(&f);
1249 t << substitute(mgr.getAsString("clipboard.js"),"$copy_to_clipboard_text",theTranslator->trCopyToClipboard());
1250 }
1251 }
1252
1253 bool hasCookie = Config_getBool(GENERATE_TREEVIEW) || Config_getBool(SEARCHENGINE) || Config_getEnum(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE;
1254 if (hasCookie)
1255 {
1256 mgr.copyResource("cookie.js",dname);
1257 }
1258
1259 if (Config_getBool(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE)
1260 {
1261 std::ofstream f = Portable::openOutputStream(dname+"/darkmode_toggle.js");
1262 if (f.is_open())
1263 {
1264 TextStream t(&f);
1265 t << substitute(replaceColorMarkers(mgr.getAsString("darkmode_toggle.js")),
1266 "$PROJECTID",getProjectId());
1267 }
1268 }
1269
1270 {
1271 std::ofstream f = Portable::openOutputStream(dname+"/dynsections.js");
1272 if (f.is_open())
1273 {
1274 TextStream t(&f);
1275 t << replaceVariables(mgr.getAsString("dynsections.js"));
1276 if (Config_getBool(SOURCE_BROWSER) && Config_getBool(SOURCE_TOOLTIPS))
1277 {
1278 t << replaceVariables(mgr.getAsString("dynsections_tooltips.js"));
1279 }
1280 }
1281 }
1282}
static QCString getNavTreeCss()
Definition htmlgen.cpp:3571
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:64
static QCString g_mathjax_code
Definition htmlgen.cpp:66
static QCString g_footer
Definition htmlgen.cpp:65
static const SelectionMarkerInfo htmlMarkerInfo
Definition htmlgen.cpp:70
static QCString g_latex_macro
Definition htmlgen.cpp:67
static void fillColorStyleMaps()
Definition htmlgen.cpp:654
static QCString substituteHtmlKeywords(const QCString &str, const QCString &title, const QCString &relPath, const QCString &navPath=QCString())
Definition htmlgen.cpp:320
#define term(fmt,...)
Definition message.h:137
std::ofstream openOutputStream(const QCString &name, bool append=false)
Definition portable.cpp:665
QCString substitute(const QCString &s, const QCString &src, const QCString &dst)
substitute all occurrences of src in s by dst
Definition qcstring.cpp:477
void checkBlocks(const QCString &s, const QCString fileName, const SelectionMarkerInfo &markerInfo)
Definition util.cpp:7009
QCString fileToString(const QCString &name, bool filter, bool isSourceCode)
Definition util.cpp:1441
void createSubDirs(const Dir &d)
Definition util.cpp:4140
QCString getProjectId()
Definition util.cpp:7298
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:6275

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(), replaceColorMarkers(), replaceVariables(), QCString::str(), substitute(), substituteHtmlKeywords(), term, and theTranslator.

Referenced by generateOutput().

◆ insertMemberAlign()

void HtmlGenerator::insertMemberAlign ( bool templ)
overridevirtual

Implements OutputGenIntf.

Definition at line 2110 of file htmlgen.cpp.

2111{
2112 DBG_HTML(m_t << "<!-- insertMemberAlign -->\n")
2113 QCString className = templ ? "memTemplItemRight" : "memItemRight";
2114 m_t << "&#160;</td><td class=\"" << className << "\" valign=\"bottom\">";
2115}

References DBG_HTML, and OutputGenerator::m_t.

Referenced by endMemberItem().

◆ insertMemberAlignLeft()

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

Implements OutputGenIntf.

Definition at line 2117 of file htmlgen.cpp.

2118{
2119 if (!initTag) m_t << "&#160;</td>";
2120 switch (type)
2121 {
2122 case MemberItemType::Normal: m_t << "<td class=\"memItemLeft\" align=\"right\" valign=\"top\">"; break;
2123 case MemberItemType::AnonymousStart: m_t << "<td class=\"memItemLeft\" >"; break;
2124 case MemberItemType::AnonymousEnd: m_t << "<td class=\"memItemLeft\" valign=\"top\">"; break;
2125 case MemberItemType::Templated: m_t << "<td class=\"memTemplParams\" colspan=\"2\">"; break;
2126 }
2127}

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

287{}

◆ lineBreak()

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

Implements OutputGenIntf.

Definition at line 3346 of file htmlgen.cpp.

3347{
3348 if (!style.isEmpty())
3349 {
3350 m_t << "<br class=\"" << style << "\" />\n";
3351 }
3352 else
3353 {
3354 m_t << "<br />\n";
3355 }
3356}

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

◆ operator=() [1/2]

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

Definition at line 1111 of file htmlgen.cpp.

1112{
1113 //printf("%p:HtmlGenerator(copy assign %p)\n",(void*)this,(void*)&og);
1114 if (this!=&og)
1115 {
1116 m_dir = og.m_dir;
1117 m_codeList = std::make_unique<OutputCodeList>(*og.m_codeList);
1118 m_codeGen = m_codeList->get<HtmlCodeGenerator>(OutputType::Html);
1119 m_codeGen->setTextStream(&m_t);
1122 m_relPath = og.m_relPath;
1125 }
1126 return *this;
1127}

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

◆ operator=() [2/2]

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

References HtmlGenerator().

◆ startAnonTypeScope()

void HtmlGenerator::startAnonTypeScope ( int )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 184 of file htmlgen.h.

184{}

◆ startBold()

void HtmlGenerator::startBold ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 215 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startCallGraph()

void HtmlGenerator::startCallGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2485 of file htmlgen.cpp.

2486{
2488}
static void startSectionHeader(TextStream &t, const QCString &relPath, int sectionCount)
Definition htmlgen.cpp:1929

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

◆ startCenter()

void HtmlGenerator::startCenter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 233 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startClassDiagram()

void HtmlGenerator::startClassDiagram ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2001 of file htmlgen.cpp.

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

◆ startCompoundTemplateParams()

void HtmlGenerator::startCompoundTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2100 of file htmlgen.cpp.

2101{
2102 m_t << "<div class=\"compoundTemplParams\">";
2103}

References OutputGenerator::m_t.

◆ startConstraintDocs()

void HtmlGenerator::startConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3328 of file htmlgen.cpp.

3329{
3330 m_t << "<td>&#160;";
3331}

References OutputGenerator::m_t.

◆ startConstraintList()

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

Implements OutputGenIntf.

Definition at line 3301 of file htmlgen.cpp.

3302{
3303 m_t << "<div class=\"typeconstraint\">\n";
3304 m_t << "<dl><dt><b>" << header << "</b></dt><dd>\n";
3305 m_t << "<table border=\"0\" cellspacing=\"2\" cellpadding=\"0\">\n";
3306}

References OutputGenerator::m_t.

◆ startConstraintParam()

void HtmlGenerator::startConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3308 of file htmlgen.cpp.

3309{
3310 m_t << "<tr><td valign=\"top\"><em>";
3311}

References OutputGenerator::m_t.

◆ startConstraintType()

void HtmlGenerator::startConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3318 of file htmlgen.cpp.

3319{
3320 m_t << "<td>&#160;:</td><td valign=\"top\"><em>";
3321}

References OutputGenerator::m_t.

◆ startContents()

void HtmlGenerator::startContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3068 of file htmlgen.cpp.

3069{
3070 m_t << "<div class=\"contents\">\n";
3071}

References OutputGenerator::m_t.

◆ startDescForItem()

void HtmlGenerator::startDescForItem ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 217 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startDescTable()

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

Implements OutputGenIntf.

Definition at line 2579 of file htmlgen.cpp.

2580{
2581 m_t << "<table class=\"fieldtable\">\n"
2582 << "<tr><th colspan=\"" << (hasInits?3:2) << "\">" << title << "</th></tr>";
2583}

References OutputGenerator::m_t.

◆ startDescTableData()

void HtmlGenerator::startDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2619 of file htmlgen.cpp.

2620{
2621 m_t << "<td class=\"fielddoc\">";
2622}

References OutputGenerator::m_t.

◆ startDescTableInit()

void HtmlGenerator::startDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2609 of file htmlgen.cpp.

2610{
2611 m_t << "<td class=\"fieldinit\">";
2612}

References OutputGenerator::m_t.

◆ startDescTableRow()

void HtmlGenerator::startDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2589 of file htmlgen.cpp.

2590{
2591 m_t << "<tr>";
2592}

References OutputGenerator::m_t.

◆ startDescTableTitle()

void HtmlGenerator::startDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2599 of file htmlgen.cpp.

2600{
2601 m_t << "<td class=\"fieldname\">";
2602}

References OutputGenerator::m_t.

◆ startDirDepGraph()

void HtmlGenerator::startDirDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2503 of file htmlgen.cpp.

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

◆ startDotGraph()

void HtmlGenerator::startDotGraph ( )
overridevirtual

Implements OutputGenIntf.

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

1682{
1683 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>";
1684}

References OutputGenerator::m_t.

◆ startEmphasis()

void HtmlGenerator::startEmphasis ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 213 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startExamples()

void HtmlGenerator::startExamples ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2629 of file htmlgen.cpp.

2630{
2631 m_t << "<dl class=\"section examples\"><dt>";
2633 m_t << "</dt>";
2634}
void docify(const QCString &text) override
Definition htmlgen.cpp:1881
virtual QCString trExamples()=0

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

◆ startFile()

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

Implements OutputGenIntf.

Definition at line 1466 of file htmlgen.cpp.

1468{
1469 //printf("HtmlGenerator::startFile(%s)\n",qPrint(name));
1471 QCString fileName = name;
1473 m_lastTitle=title;
1474
1476 m_codeGen->setFileName(fileName);
1477 m_codeGen->setRelativePath(m_relPath);
1478 {
1479 std::lock_guard<std::mutex> lock(g_indexLock);
1481 }
1482
1485
1486 m_t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
1487 << getDoxygenVersion() << " -->\n";
1488 bool searchEngine = Config_getBool(SEARCHENGINE);
1489 if (searchEngine /*&& !generateTreeView*/)
1490 {
1491 m_t << "<script type=\"text/javascript\">\n";
1492 m_t << "/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */\n";
1493 m_t << "var searchBox = new SearchBox(\"searchBox\", \""
1494 << m_relPath<< "search/\",'" << Doxygen::htmlFileExtension << "');\n";
1495 m_t << "/* @license-end */\n";
1496 m_t << "</script>\n";
1497 }
1498 if (Config_getBool(HTML_CODE_FOLDING))
1499 {
1500 m_t << "<script type=\"text/javascript\">\n";
1501 m_t << "/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */\n";
1502 m_t << "$(function() { codefold.init(" << (m_relPath.isEmpty() ? "0" : "1") << "); });\n";
1503 m_t << "/* @license-end */\n";
1504 m_t << "</script>\n";
1505 }
1507}
static IndexList * indexList
Definition doxygen.h:134
void startPlainFile(const QCString &name) override
Definition htmlgen.h:329
void addIndexFile(const QCString &name)
Definition indexlist.h:123
virtual QCString trGeneratedBy()=0
static std::mutex g_indexLock
Definition htmlgen.cpp:1464
QCString convertToHtml(const QCString &s, bool keepEntities)
Definition util.cpp:4463
QCString relativePathToRoot(const QCString &name)
Definition util.cpp:4079
QCString filterTitle(const QCString &title)
Definition util.cpp:6077
void addHtmlExtensionIfMissing(QCString &fName)
Definition util.cpp:5399

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

◆ startGroupCollaboration()

void HtmlGenerator::startGroupCollaboration ( )
overridevirtual

Implements OutputGenIntf.

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

1819{
1820 if (extraIndentLevel==2)
1821 {
1822 m_t << "<h4 class=\"groupheader\">";
1823 }
1824 else if (extraIndentLevel==1)
1825 {
1826 m_t << "<h3 class=\"groupheader\">";
1827 }
1828 else // extraIndentLevel==0
1829 {
1830 m_t << "<h2 class=\"groupheader\">";
1831 }
1832}

References OutputGenerator::m_t.

◆ startHeaderSection()

void HtmlGenerator::startHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3358 of file htmlgen.cpp.

3359{
3360 m_t << "<div class=\"header\">\n";
3361}

References OutputGenerator::m_t.

◆ startInclDepGraph()

void HtmlGenerator::startInclDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2449 of file htmlgen.cpp.

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

◆ startIndent()

void HtmlGenerator::startIndent ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2554 of file htmlgen.cpp.

2555{
2556 DBG_HTML(m_t << "<!-- startIndent -->\n";)
2557
2558 m_t << "<div class=\"memdoc\">\n";
2559}

References DBG_HTML, and OutputGenerator::m_t.

◆ startIndexItem()

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

Implements OutputGenIntf.

Definition at line 1722 of file htmlgen.cpp.

1723{
1724 //printf("HtmlGenerator::startIndexItem(%s,%s)\n",ref,f);
1725 if (!ref.isEmpty() || !f.isEmpty())
1726 {
1727 if (!ref.isEmpty())
1728 {
1729 m_t << "<a class=\"elRef\" ";
1731 }
1732 else
1733 {
1734 m_t << "<a class=\"el\" ";
1735 }
1736 m_t << "href=\"";
1737 m_t << externalRef(m_relPath,ref,TRUE);
1738 if (!f.isEmpty())
1739 {
1740 QCString fn=f;
1742 m_t << fn;
1743 }
1744 m_t << "\">";
1745 }
1746 else
1747 {
1748 m_t << "<b>";
1749 }
1750}
QCString externalRef(const QCString &relPath, const QCString &ref, bool href)
Definition util.cpp:6222
QCString externalLinkTarget(const bool parent)
Definition util.cpp:6178

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

◆ startIndexKey()

void HtmlGenerator::startIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2219 of file htmlgen.cpp.

2220{
2221 //m_t << " <tr><td class=\"indexkey\">";
2222}

◆ startIndexList()

void HtmlGenerator::startIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2209 of file htmlgen.cpp.

2210{
2211 m_t << "<table>\n";
2212}

References OutputGenerator::m_t.

◆ startIndexListItem()

void HtmlGenerator::startIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1712 of file htmlgen.cpp.

1713{
1714 m_t << "<li>";
1715}

References OutputGenerator::m_t.

◆ startIndexSection()

void HtmlGenerator::startIndexSection ( IndexSection )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 132 of file htmlgen.h.

132{}

◆ startIndexValue()

void HtmlGenerator::startIndexValue ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2229 of file htmlgen.cpp.

2230{
2231 //m_t << "<td class=\"indexvalue\">";
2232}

◆ startInlineHeader()

void HtmlGenerator::startInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3380 of file htmlgen.cpp.

3381{
3382 if (m_emptySection)
3383 {
3384 m_t << "<table class=\"memberdecls\">\n";
3386 }
3387 m_t << "<tr><td colspan=\"2\"><h3>";
3388}

References FALSE, m_emptySection, and OutputGenerator::m_t.

◆ startInlineMemberDoc()

void HtmlGenerator::startInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3434 of file htmlgen.cpp.

3435{
3436 DBG_HTML(m_t << "<!-- startInlineMemberDoc -->\n";)
3437 m_t << "<td class=\"fielddoc\">\n";
3438}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberName()

void HtmlGenerator::startInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3422 of file htmlgen.cpp.

3423{
3424 DBG_HTML(m_t << "<!-- startInlineMemberName -->\n";)
3425 m_t << "<td class=\"fieldname\">\n";
3426}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberType()

void HtmlGenerator::startInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3410 of file htmlgen.cpp.

3411{
3412 DBG_HTML(m_t << "<!-- startInlineMemberType -->\n";)
3413 m_t << "<tr><td class=\"fieldtype\">\n";
3414}

References DBG_HTML, and OutputGenerator::m_t.

◆ startItemList()

void HtmlGenerator::startItemList ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 152 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startItemListItem()

void HtmlGenerator::startItemListItem ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 167 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startLabels()

void HtmlGenerator::startLabels ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3446 of file htmlgen.cpp.

3447{
3448 DBG_HTML(m_t << "<!-- startLabels -->\n";)
3449 m_t << "<span class=\"mlabels\">";
3450}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDeclaration()

void HtmlGenerator::startMemberDeclaration ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 204 of file htmlgen.h.

204{}

◆ startMemberDescription()

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

Implements OutputGenIntf.

Definition at line 2129 of file htmlgen.cpp.

2130{
2131 DBG_HTML(m_t << "<!-- startMemberDescription -->\n")
2133 {
2134 m_t << "<table class=\"memberdecls\">\n";
2136 }
2137 m_t << "<tr class=\"memdesc:" << anchor;
2138 if (!inheritId.isEmpty())
2139 {
2140 m_t << " inherit " << inheritId;
2141 }
2142 m_t << "\">";
2143 m_t << "<td class=\"mdescLeft\">&#160;</td>";
2144 if (typ) m_t << "<td class=\"mdescLeft\">&#160;</td>";
2145 m_t << "<td class=\"mdescRight\">";
2146}

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

2252{
2253 DBG_HTML(m_t << "<!-- startMemberDoc -->\n";)
2254 m_t << "\n<h2 class=\"memtitle\">"
2255 << "<span class=\"permalink\"><a href=\"#" << anchor << "\">&#9670;&#160;</a></span>";
2256 docify(title);
2257 if (memTotal>1)
2258 {
2259 m_t << " <span class=\"overload\">[" << memCount << "/" << memTotal <<"]</span>";
2260 }
2261 m_t << "</h2>\n";
2262 m_t << "\n<div class=\"memitem\">\n";
2263 m_t << "<div class=\"memproto\">\n";
2264}

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

◆ startMemberDocList()

void HtmlGenerator::startMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2239 of file htmlgen.cpp.

2240{
2241 DBG_HTML(m_t << "<!-- startMemberDocList -->\n";)
2242}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocName()

void HtmlGenerator::startMemberDocName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2278 of file htmlgen.cpp.

2279{
2280 DBG_HTML(m_t << "<!-- startMemberDocName -->\n";)
2281
2282 m_t << " <table class=\"memname\">\n";
2283
2284 m_t << " <tr>\n";
2285 m_t << " <td class=\"memname\">";
2286}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocPrefixItem()

void HtmlGenerator::startMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2266 of file htmlgen.cpp.

2267{
2268 DBG_HTML(m_t << "<!-- startMemberDocPrefixItem -->\n";)
2269 m_t << "<div class=\"memtemplate\">\n";
2270}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocSimple()

void HtmlGenerator::startMemberDocSimple ( bool isEnum)
overridevirtual

Implements OutputGenIntf.

Definition at line 3395 of file htmlgen.cpp.

3396{
3397 DBG_HTML(m_t << "<!-- startMemberDocSimple -->\n";)
3398 m_t << "<table class=\"fieldtable\">\n";
3399 m_t << "<tr><th colspan=\"" << (isEnum?"2":"3") << "\">";
3400 m_t << (isEnum? theTranslator->trEnumerationValues() :
3401 theTranslator->trCompoundMembers()) << "</th></tr>\n";
3402}
virtual QCString trEnumerationValues()=0
virtual QCString trCompoundMembers()=0

References DBG_HTML, OutputGenerator::m_t, and theTranslator.

◆ startMemberGroup()

void HtmlGenerator::startMemberGroup ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2546 of file htmlgen.cpp.

2547{
2548}

◆ startMemberGroupDocs()

void HtmlGenerator::startMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2536 of file htmlgen.cpp.

2537{
2538 m_t << "<tr><td colspan=\"2\"><div class=\"groupText\">";
2539}

References OutputGenerator::m_t.

◆ startMemberGroupHeader()

void HtmlGenerator::startMemberGroupHeader ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2526 of file htmlgen.cpp.

2527{
2528 m_t << "<tr><td colspan=\"2\"><div class=\"groupHeader\">";
2529}

References OutputGenerator::m_t.

◆ startMemberHeader()

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

Implements OutputGenIntf.

Definition at line 2171 of file htmlgen.cpp.

2172{
2173 DBG_HTML(m_t << "<!-- startMemberHeader -->\n")
2175 {
2176 m_t << "</table>";
2178 }
2179 if (m_emptySection)
2180 {
2181 m_t << "<table class=\"memberdecls\">\n";
2183 }
2184 m_t << "<tr class=\"heading\"><td colspan=\"" << typ << "\"><h2 class=\"groupheader\">";
2185 if (!anchor.isEmpty())
2186 {
2187 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>\n";
2188 }
2189}

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

2055{
2056 DBG_HTML(m_t << "<!-- startMemberItem() -->\n")
2058 {
2059 m_t << "<table class=\"memberdecls\">\n";
2061 }
2062 m_t << "<tr class=\"memitem:" << anchor;
2063 if (!inheritId.isEmpty())
2064 {
2065 m_t << " inherit " << inheritId;
2066 }
2067 m_t << "\"";
2068 if (!anchor.isEmpty())
2069 {
2070 m_t << " id=\"r_" << anchor << "\"";
2071 }
2072 m_t << ">";
2074}
void insertMemberAlignLeft(MemberItemType, bool) override
Definition htmlgen.cpp:2117

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

◆ startMemberList()

void HtmlGenerator::startMemberList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2040 of file htmlgen.cpp.

2041{
2042 DBG_HTML(m_t << "<!-- startMemberList -->\n")
2043}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberSections()

void HtmlGenerator::startMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2154 of file htmlgen.cpp.

2155{
2156 DBG_HTML(m_t << "<!-- startMemberSections -->\n")
2157 m_emptySection=TRUE; // we postpone writing <table> until we actually
2158 // write a row to prevent empty tables, which
2159 // are not valid XHTML!
2160}

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

◆ startMemberSubtitle()

void HtmlGenerator::startMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2197 of file htmlgen.cpp.

2198{
2199 DBG_HTML(m_t << "<!-- startMemberSubtitle -->\n")
2200 m_t << "<tr><td class=\"ititle\" colspan=\"2\">";
2201}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberTemplateParams()

void HtmlGenerator::startMemberTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2085 of file htmlgen.cpp.

2086{
2087}

◆ startPageDoc()

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

Implements OutputGenIntf.

Definition at line 3078 of file htmlgen.cpp.

3079{
3080 m_t << "<div>";
3081}

References OutputGenerator::m_t.

◆ startPageRef()

void HtmlGenerator::startPageRef ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 247 of file htmlgen.h.

247{}

◆ startParagraph()

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

Implements OutputGenIntf.

Definition at line 1694 of file htmlgen.cpp.

1695{
1696 if (!classDef.isEmpty())
1697 m_t << "\n<p class=\"" << classDef << "\">";
1698 else
1699 m_t << "\n<p>";
1700}

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

◆ startParameterDefVal()

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

Implements OutputGenIntf.

Definition at line 2366 of file htmlgen.cpp.

2367{
2368 m_t << "<span class=\"paramdefsep\">";
2369 docify(s);
2370 m_t << "</span><span class=\"paramdefval\">";
2371}

References docify(), and OutputGenerator::m_t.

◆ startParameterExtra()

void HtmlGenerator::startParameterExtra ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2337 of file htmlgen.cpp.

2338{
2339 DBG_HTML(m_t << "<!-- startParameterExtra -->\n";)
2340}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterList()

void HtmlGenerator::startParameterList ( bool openBracket)
overridevirtual

Implements OutputGenIntf.

Definition at line 2294 of file htmlgen.cpp.

2295{
2296 DBG_HTML(m_t << "<!-- startParameterList -->\n";)
2297 m_t << " <td>";
2298 if (openBracket) m_t << "(";
2299 m_t << "</td>\n";
2300}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterName()

void HtmlGenerator::startParameterName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2325 of file htmlgen.cpp.

2326{
2327 DBG_HTML(m_t << "<!-- startParameterName -->\n";)
2328 m_t << " <td class=\"paramname\"><span class=\"paramname\"><em>";
2329}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterType()

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

Implements OutputGenIntf.

Definition at line 2302 of file htmlgen.cpp.

2303{
2304 if (first)
2305 {
2306 DBG_HTML(m_t << "<!-- startFirstParameterType -->\n";)
2307 m_t << " <td class=\"paramtype\">";
2308 }
2309 else
2310 {
2311 DBG_HTML(m_t << "<!-- startParameterType -->\n";)
2312 m_t << " <tr>\n";
2313 m_t << " <td class=\"paramkey\">" << key << "</td>\n";
2314 m_t << " <td></td>\n";
2315 m_t << " <td class=\"paramtype\">";
2316 }
2317}

References DBG_HTML, and OutputGenerator::m_t.

◆ startPlainFile()

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

Implements OutputGenIntf.

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

1598{
1599 m_t << "<h3 class=\"version\">";
1600}

References OutputGenerator::m_t.

◆ startQuickIndices()

void HtmlGenerator::startQuickIndices ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 249 of file htmlgen.h.

249{}

◆ startSection()

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

Implements OutputGenIntf.

Definition at line 1850 of file htmlgen.cpp.

1851{
1852 switch(type.level())
1853 {
1854 case SectionType::Page: m_t << "\n\n<h1>"; break;
1855 case SectionType::Section: m_t << "\n\n<h2>"; break;
1856 case SectionType::Subsection: m_t << "\n\n<h3>"; break;
1857 case SectionType::Subsubsection: m_t << "\n\n<h4>"; break;
1858 case SectionType::Paragraph: m_t << "\n\n<h5>"; break;
1859 case SectionType::Subparagraph: m_t << "\n\n<h6>"; break;
1860 case SectionType::Subsubparagraph: m_t << "\n\n<h6>"; break;
1861 default: ASSERT(0); break;
1862 }
1863 m_t << "<a id=\"" << lab << "\" name=\"" << lab << "\"></a>";
1864}

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

◆ startSmall()

void HtmlGenerator::startSmall ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 235 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startTextBlock()

void HtmlGenerator::startTextBlock ( bool )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 285 of file htmlgen.h.

285{ 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 1801 of file htmlgen.cpp.

1802{
1803 m_t << "<a href=\"";
1804 QCString fn = f;
1806 m_t << createHtmlUrl(m_relPath,"",true,
1807 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1808 fn,
1809 anchor);
1810 m_t << "\">";
1811}
QCString createHtmlUrl(const QCString &relPath, const QCString &ref, bool href, bool isLocalFile, const QCString &targetFileName, const QCString &anchor)
Definition util.cpp:6189

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

◆ startTitle()

void HtmlGenerator::startTitle ( )
inlineprivate

Definition at line 333 of file htmlgen.h.

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

References OutputGenerator::m_t.

Referenced by startTitleHead().

◆ startTitleHead()

void HtmlGenerator::startTitleHead ( const QCString & )
overridevirtual

Implements OutputGenIntf.

Definition at line 3363 of file htmlgen.cpp.

3364{
3365 m_t << " <div class=\"headertitle\">";
3366 startTitle();
3367}
void startTitle()
Definition htmlgen.h:333

References OutputGenerator::m_t, and startTitle().

◆ startTypewriter()

void HtmlGenerator::startTypewriter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 163 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ type()

OutputType HtmlGenerator::type ( ) const
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 121 of file htmlgen.h.

121{ return OutputType::Html; }

References Html.

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

◆ writeAnchor()

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

Implements OutputGenIntf.

Definition at line 211 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ writeChar()

void HtmlGenerator::writeChar ( char c)
overridevirtual

Implements OutputGenIntf.

Definition at line 1919 of file htmlgen.cpp.

1920{
1921 char cs[2];
1922 cs[0]=c;
1923 cs[1]=0;
1924 docify(cs);
1925}

References docify().

◆ writeDoc()

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

Implements OutputGenIntf.

Definition at line 2641 of file htmlgen.cpp.

2642{
2643 const DocNodeAST *astImpl = dynamic_cast<const DocNodeAST*>(ast);
2644 if (astImpl)
2645 {
2646 m_codeList->setId(id);
2647 HtmlDocVisitor visitor(m_t,*m_codeList,ctx,fileName());
2648 std::visit(visitor,astImpl->root);
2649 }
2650}
DocNodeVariant root
Definition docnode.h:1481

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

◆ writeExternalSearchPage()

void HtmlGenerator::writeExternalSearchPage ( )
static

Definition at line 3194 of file htmlgen.cpp.

3195{
3196 bool disableIndex = Config_getBool(DISABLE_INDEX);
3197 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3198 bool fullSidebar = Config_getBool(FULL_SIDEBAR);
3199 bool quickLinksAfterSplitbar = !disableIndex && generateTreeView && fullSidebar;
3200 QCString dname = Config_getString(HTML_OUTPUT);
3201 QCString fileName = dname+"/search"+Doxygen::htmlFileExtension;
3202 std::ofstream f = Portable::openOutputStream(fileName);
3203 if (f.is_open())
3204 {
3205 TextStream t(&f);
3206 t << substituteHtmlKeywords(g_header,"Search","");
3207
3208 t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
3209 << getDoxygenVersion() << " -->\n";
3210 t << "<script type=\"text/javascript\">\n";
3211 t << "/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */\n";
3212 t << "var searchBox = new SearchBox(\"searchBox\", \""
3213 << "search/\",'" << Doxygen::htmlFileExtension << "');\n";
3214 t << "/* @license-end */\n";
3215 t << "</script>\n";
3216
3217 if (!disableIndex && !quickLinksAfterSplitbar)
3218 {
3219 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString());
3220 }
3221 if (generateTreeView)
3222 {
3223 t << "</div><!-- top -->\n";
3224 }
3225 t << writeSplitBarAsString("search.php",QCString());
3226 if (quickLinksAfterSplitbar)
3227 {
3228 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString());
3229 }
3230
3231 t << "<div class=\"header\">\n";
3232 t << " <div class=\"headertitle\">\n";
3233 t << " <div class=\"title\">" << theTranslator->trSearchResultsTitle() << "</div>\n";
3234 t << " </div>\n";
3235 t << "</div>\n";
3236 t << "<div class=\"contents\">\n";
3237
3238 t << "<div id=\"searchresults\"></div>\n";
3239 t << "</div>\n";
3240
3241 if (generateTreeView)
3242 {
3243 t << "</div><!-- doc-content -->\n";
3244 }
3245
3246 writePageFooter(t,"Search","","");
3247
3248 }
3249 f.close();
3250
3251 QCString scriptName = dname+"/search/search.js";
3252 f = Portable::openOutputStream(scriptName);
3253 if (f.is_open())
3254 {
3255 TextStream t(&f);
3256 t << "var searchResultsText=["
3257 << "\"" << theTranslator->trSearchResults(0) << "\","
3258 << "\"" << theTranslator->trSearchResults(1) << "\","
3259 << "\"" << theTranslator->trSearchResults(2) << "\"];\n";
3260 t << "var serverUrl=\"" << Config_getString(SEARCHENGINE_URL) << "\";\n";
3261 t << "var tagMap = {\n";
3262 bool first=TRUE;
3263 // add search mappings
3264 const StringVector &extraSearchMappings = Config_getList(EXTRA_SEARCH_MAPPINGS);
3265 for (const auto &ml : extraSearchMappings)
3266 {
3267 QCString mapLine = ml.c_str();
3268 int eqPos = mapLine.find('=');
3269 if (eqPos!=-1) // tag command contains a destination
3270 {
3271 QCString tagName = mapLine.left(eqPos).stripWhiteSpace();
3272 QCString destName = mapLine.right(mapLine.length()-eqPos-1).stripWhiteSpace();
3273 if (!tagName.isEmpty())
3274 {
3275 if (!first) t << ",\n";
3276 t << " \"" << tagName << "\": \"" << destName << "\"";
3277 first=FALSE;
3278 }
3279 }
3280 }
3281 if (!first) t << "\n";
3282 t << "};\n\n";
3283 t << ResourceMgr::instance().getAsString("extsearch.js");
3284 t << "\n";
3285 t << "$(function() {\n";
3286 t << " var query = trim(getURLParameter('query'));\n";
3287 t << " if (query) {\n";
3288 t << " searchFor(query,0,20);\n";
3289 t << " } else {\n";
3290 t << " var results = $('#results');\n";
3291 t << " results.html('<p>" << theTranslator->trSearchResults(0) << "</p>');\n";
3292 t << " }\n";
3293 t << "});\n";
3294 }
3295 else
3296 {
3297 err("Failed to open file '{}' for writing...\n",scriptName);
3298 }
3299}
static QCString writeSplitBarAsString(const QCString &name, const QCString &relpath)
Definition htmlgen.cpp:3011
static void writePageFooter(TextStream &t, const QCString &, const QCString &, const QCString &)
Definition htmlgen.cpp:1581
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:153
QCString stripWhiteSpace() const
returns a copy of this string with leading and trailing whitespace removed
Definition qcstring.h:245
QCString right(size_t len) const
Definition qcstring.h:219
QCString left(size_t len) const
Definition qcstring.h:214
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:2863
#define err(fmt,...)
Definition message.h:127

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(), QCString::right(), Search, QCString::stripWhiteSpace(), substituteHtmlKeywords(), theTranslator, TRUE, writeDefaultQuickLinks(), writePageFooter(), and writeSplitBarAsString().

Referenced by generateOutput().

◆ writeFooter()

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

Implements OutputGenIntf.

Definition at line 1587 of file htmlgen.cpp.

1588{
1590}

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

◆ writeFooterFile()

void HtmlGenerator::writeFooterFile ( TextStream & t)
static

Definition at line 1458 of file htmlgen.cpp.

1459{
1460 t << "<!-- HTML footer for doxygen " << getDoxygenVersion() << "-->\n";
1461 t << ResourceMgr::instance().getAsString("footer.html");
1462}

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

Referenced by readConfiguration().

◆ writeGraphicalHierarchy()

void HtmlGenerator::writeGraphicalHierarchy ( DotGfxHierarchyTable & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2521 of file htmlgen.cpp.

2522{
2523 g.writeGraph(m_t,dir(),fileName());
2524}
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 1452 of file htmlgen.cpp.

1453{
1454 t << "<!-- HTML header for doxygen " << getDoxygenVersion() << "-->\n";
1455 t << ResourceMgr::instance().getAsString("header.html");
1456}

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

3502{
3503 DBG_HTML(m_t << "<!-- writeInheritedSectionTitle -->\n";)
3504 QCString a = anchor;
3505 if (!a.isEmpty()) a.prepend("#");
3506 QCString classLink = QCString("<a class=\"el\" ");
3507 if (!ref.isEmpty())
3508 {
3509 classLink+= externalLinkTarget();
3510 classLink += " href=\"";
3511 classLink+= externalRef(m_relPath,ref,TRUE);
3512 }
3513 else
3514 {
3515 classLink += "href=\"";
3516 classLink+=m_relPath;
3517 }
3518 QCString fn = file;
3520 classLink=classLink+fn+a;
3521 classLink+=QCString("\">")+convertToHtml(name,FALSE)+"</a>";
3522 m_t << "<tr class=\"inherit_header " << id << "\">"
3523 << "<td colspan=\"2\" onclick=\"javascript:dynsection.toggleInherit('" << id << "')\">"
3524 << "<img src=\"" << m_relPath << "closed.png\" alt=\"-\"/>&#160;"
3525 << theTranslator->trInheritedFrom(convertToHtml(title,FALSE),classLink)
3526 << "</td></tr>\n";
3527}
virtual QCString trInheritedFrom(const QCString &members, const QCString &what)=0

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

◆ writeLabel()

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

Implements OutputGenIntf.

Definition at line 3452 of file htmlgen.cpp.

3453{
3454 DBG_HTML(m_t << "<!-- writeLabel(" << label << ") -->\n";)
3455
3456 auto convertLabelToClass = [](const std::string &lab) {
3457 QCString input = convertUTF8ToLower(lab);
3458 QCString result;
3459 size_t l=input.length();
3460 result.reserve(l);
3461
3462 // Create valid class selector, see 10.2 here https://www.w3.org/TR/selectors-3/#w3cselgrammar
3463 // ident [-]?{nmstart}{nmchar}*
3464 // nmstart [_a-z]|{nonascii}
3465 // nonascii [^\0-\177]
3466 // nmchar [_a-z0-9-]|{nonascii}
3467
3468 bool nmstart=false;
3469 for (size_t i=0; i<l; i++)
3470 {
3471 char c = input.at(i);
3472 if (c<0 || (c>='a' && c<='z') || c=='_') // nmstart pattern
3473 {
3474 nmstart=true;
3475 result+=c;
3476 }
3477 else if (nmstart && (c<0 || (c>='a' && c<='z') || (c>='0' && c<='9') || c=='_')) // nmchar pattern
3478 {
3479 result+=c;
3480 }
3481 else if (nmstart && (c==' ' || c=='-')) // show whitespace as -
3482 {
3483 result+='-';
3484 }
3485 }
3486 return result;
3487 };
3488
3489 m_t << "<span class=\"mlabel " << convertLabelToClass(label.stripWhiteSpace().str()) << "\">" << label << "</span>";
3490}
char & at(size_t i)
Returns a reference to the character at index i.
Definition qcstring.h:578
void reserve(size_t size)
Reserve space for size bytes without changing the string contents.
Definition qcstring.h:172
std::string convertUTF8ToLower(const std::string &input)
Converts the input string into a lower case version, also taking into account non-ASCII characters th...
Definition utf8.cpp:187

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

◆ writeLatexSpacing()

void HtmlGenerator::writeLatexSpacing ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 230 of file htmlgen.h.

230{}

◆ writeLocalToc()

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

Implements OutputGenIntf.

Definition at line 3577 of file htmlgen.cpp.

3578{
3579 if (localToc.isHtmlEnabled())
3580 {
3581 int level=0;
3582 int indent=0;
3583 auto writeIndent = [&]() { for (int i=0;i<indent*2;i++) m_t << " "; };
3584 auto incIndent = [&](const QCString &text) { writeIndent(); m_t << text << "\n"; indent++; };
3585 auto decIndent = [&](const QCString &text) { indent--; writeIndent(); m_t << text << "\n"; };
3586 m_t << "<div class=\"toc\">";
3587 m_t << "<h3>" << theTranslator->trRTFTableOfContents() << "</h3>\n";
3588 int maxLevel = localToc.htmlLevel();
3589 char cs[2];
3590 cs[1]='\0';
3591 BoolVector inLi(maxLevel+1,false);
3592 for (const SectionInfo *si : sectionRefs)
3593 {
3594 //printf("Section: label=%s type=%d isSection()=%d\n",qPrint(si->label()),si->type(),isSection(si->type()));
3595 SectionType type = si->type();
3596 if (type.isSection())
3597 {
3598 //printf(" level=%d title=%s maxLevel=%d\n",level,qPrint(si->title()),maxLevel);
3599 int nextLevel = type.level();
3600 if (nextLevel>level)
3601 {
3602 for (int l=level;l<nextLevel;l++)
3603 {
3604 if (l < maxLevel)
3605 {
3606 incIndent("<ul>");
3607 cs[0]=static_cast<char>('0'+l+1);
3608 const char *empty = (l!=nextLevel-1) ? " empty" : "";
3609 incIndent("<li class=\"level" + QCString(cs) + empty + "\">");
3610 }
3611 }
3612 }
3613 else if (nextLevel<level)
3614 {
3615 for (int l=level;l>nextLevel;l--)
3616 {
3617 if (l <= maxLevel) decIndent("</li>");
3618 inLi[l] = false;
3619 if (l <= maxLevel) decIndent("</ul>");
3620 }
3621 }
3622 if (nextLevel <= maxLevel)
3623 {
3624 if (inLi[nextLevel] || level>nextLevel)
3625 {
3626 decIndent("</li>");
3627 cs[0]=static_cast<char>('0'+nextLevel);
3628 incIndent("<li class=\"level" + QCString(cs) + "\">");
3629 }
3630 QCString titleDoc = si->title();
3631 QCString label = si->label();
3632 if (titleDoc.isEmpty()) titleDoc = label;
3633 writeIndent();
3634 m_t << "<a href=\"#"+label+"\">"
3635 << convertToHtml(filterTitle(titleDoc))
3636 << "</a>\n";
3637 inLi[nextLevel]=true;
3638 level = nextLevel;
3639 }
3640 }
3641 }
3642 if (level > maxLevel) level = maxLevel;
3643 while (level>0)
3644 {
3645 decIndent("</li>");
3646 decIndent("</ul>");
3647 level--;
3648 }
3649 m_t << "</div>\n";
3650 }
3651}
virtual QCString trRTFTableOfContents()=0
std::vector< bool > BoolVector
Definition containers.h:36
static void writeIndent(TextStream &t, int indent)
Definition qhp.cpp:37

References convertToHtml(), filterTitle(), LocalToc::htmlLevel(), QCString::isEmpty(), LocalToc::isHtmlEnabled(), OutputGenerator::m_t, theTranslator, type(), and writeIndent().

◆ writeLogo()

void HtmlGenerator::writeLogo ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1576 of file htmlgen.cpp.

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

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

◆ writeLogoAsString()

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

Definition at line 1545 of file htmlgen.cpp.

1546{
1547 QCString result;
1548 switch (Config_getEnum(TIMESTAMP))
1549 {
1550 case TIMESTAMP_t::YES:
1551 case TIMESTAMP_t::DATETIME:
1552 result += theTranslator->trGeneratedAt(
1554 Config_getString(PROJECT_NAME)
1555 );
1556 break;
1557 case TIMESTAMP_t::DATE:
1558 result += theTranslator->trGeneratedAt(
1560 Config_getString(PROJECT_NAME)
1561 );
1562 break;
1563 case TIMESTAMP_t::NO:
1564 result += theTranslator->trGeneratedBy();
1565 break;
1566 }
1567 result += "&#160;\n<a href=\"https://www.doxygen.org/index.html\">\n"
1568 "<img class=\"footer\" src=\"";
1569 result += path;
1570 result += "doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> ";
1571 result += getDoxygenVersion();
1572 result += " ";
1573 return result;
1574}
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(), and theTranslator.

Referenced by writeLogo(), and writeSearchPage().

◆ writeNavigationPath()

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

Implements OutputGenIntf.

Definition at line 3063 of file htmlgen.cpp.

3064{
3065 m_t << substitute(s,"$relpath^",m_relPath);
3066}

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

◆ writeNonBreakableSpace()

void HtmlGenerator::writeNonBreakableSpace ( int n)
overridevirtual

Implements OutputGenIntf.

Definition at line 2571 of file htmlgen.cpp.

2572{
2573 for (int i=0; i<n; i++)
2574 {
2575 m_t << "&#160;";
2576 }
2577}

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

1779{
1780 if (!ref.isEmpty())
1781 {
1782 m_t << "<a class=\"elRef\" ";
1784 }
1785 else
1786 {
1787 m_t << "<a class=\"el\" ";
1788 }
1789 m_t << "href=\"";
1790 QCString fn = f;
1792 m_t << createHtmlUrl(m_relPath,ref,true,
1793 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1794 fn,
1795 anchor);
1796 m_t << "\">";
1797 docify(name);
1798 m_t << "</a>";
1799}

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

1583{
1584 t << substituteHtmlKeywords(g_footer,convertToHtml(lastTitle),relPath,navPath);
1585}

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

134{}

◆ writeQuickLinks()

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

Implements OutputGenIntf.

Definition at line 3088 of file htmlgen.cpp.

3089{
3091}

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

◆ writeRuler()

void HtmlGenerator::writeRuler ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 210 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ writeSearchData()

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

Definition at line 1330 of file htmlgen.cpp.

1331{
1332 //bool serverBasedSearch = Config_getBool(SERVER_BASED_SEARCH);
1333 //writeImgData(dname,serverBasedSearch ? search_server_data : search_client_data);
1334 ResourceMgr &mgr = ResourceMgr::instance();
1335
1336 // server side search resources
1337 mgr.copyResource("mag.svg",dname);
1338 mgr.copyResource("mag_d.svg",dname);
1339 Doxygen::indexList->addImageFile("search/mag.svg");
1340 Doxygen::indexList->addImageFile("search/mag_d.svg");
1341
1342 // client side search resources
1343 mgr.copyResource("close.svg",dname);
1344 Doxygen::indexList->addImageFile("search/close.svg");
1345 mgr.copyResource("mag_sel.svg",dname);
1346 mgr.copyResource("mag_seld.svg",dname);
1347 Doxygen::indexList->addImageFile("search/mag_sel.svg");
1348 Doxygen::indexList->addImageFile("search/mag_seld.svg");
1349
1350 QCString searchDirName = dname;
1351 std::ofstream f = Portable::openOutputStream(searchDirName+"/search.css");
1352 if (f.is_open())
1353 {
1354 TextStream t(&f);
1355 QCString searchCss;
1356 // the position of the search box depends on a number of settings.
1357 // Insert the right piece of CSS code depending on which options are selected
1358 if (Config_getBool(DISABLE_INDEX))
1359 {
1360 if (Config_getBool(GENERATE_TREEVIEW) && Config_getBool(FULL_SIDEBAR))
1361 {
1362 searchCss = mgr.getAsString("search_sidebar.css"); // we have a full height side bar
1363 }
1364 else if (Config_getBool(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE)
1365 {
1366 searchCss = mgr.getAsString("search_nomenu_toggle.css"); // we have no tabs but do have a darkmode button
1367 }
1368 else
1369 {
1370 searchCss = mgr.getAsString("search_nomenu.css"); // we have no tabs and no darkmode button
1371 }
1372 }
1373 else if (!Config_getBool(HTML_DYNAMIC_MENUS))
1374 {
1375 searchCss = mgr.getAsString("search_fixedtabs.css"); // we have tabs, but they are static
1376 }
1377 else
1378 {
1379 searchCss = mgr.getAsString("search.css"); // default case with a dynamic menu bar
1380 }
1381 // and then add the option independent part of the styling
1382 searchCss += mgr.getAsString("search_common.css");
1383 searchCss = substitute(searchCss,"$doxygenversion",getDoxygenVersion());
1384 t << replaceVariables(searchCss);
1385 Doxygen::indexList->addStyleSheetFile("search/search.css");
1386 }
1387}
void addStyleSheetFile(const QCString &name)
Definition indexlist.h:129
void addImageFile(const QCString &name)
Definition indexlist.h:126

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

1540{
1542}
static void writeSearchInfoStatic(TextStream &t, const QCString &relPath)
Definition htmlgen.cpp:1509

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

◆ writeSearchInfoStatic()

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

Definition at line 1509 of file htmlgen.cpp.

1510{
1511 bool searchEngine = Config_getBool(SEARCHENGINE);
1512 bool serverBasedSearch = Config_getBool(SERVER_BASED_SEARCH);
1513 if (searchEngine && !serverBasedSearch)
1514 {
1515 t << "<!-- window showing the filter options -->\n";
1516 t << "<div id=\"MSearchSelectWindow\"\n";
1517 t << " onmouseover=\"return searchBox.OnSearchSelectShow()\"\n";
1518 t << " onmouseout=\"return searchBox.OnSearchSelectHide()\"\n";
1519 t << " onkeydown=\"return searchBox.OnSearchSelectKey(event)\">\n";
1520 t << "</div>\n";
1521 t << "\n";
1522 t << "<!-- iframe showing the search results (closed by default) -->\n";
1523 t << "<div id=\"MSearchResultsWindow\">\n";
1524 t << "<div id=\"MSearchResults\">\n";
1525 t << "<div class=\"SRPage\">\n";
1526 t << "<div id=\"SRIndex\">\n";
1527 t << "<div id=\"SRResults\"></div>\n"; // here the results will be inserted
1528 t << "<div class=\"SRStatus\" id=\"Loading\">" << theTranslator->trLoading() << "</div>\n";
1529 t << "<div class=\"SRStatus\" id=\"Searching\">" << theTranslator->trSearching() << "</div>\n";
1530 t << "<div class=\"SRStatus\" id=\"NoMatches\">" << theTranslator->trNoMatches() << "</div>\n";
1531 t << "</div>\n"; // SRIndex
1532 t << "</div>\n"; // SRPage
1533 t << "</div>\n"; // MSearchResults
1534 t << "</div>\n"; // MSearchResultsWindow
1535 t << "\n";
1536 }
1537}
virtual QCString trLoading()=0
virtual QCString trSearching()=0
virtual QCString trNoMatches()=0

References Config_getBool, and theTranslator.

Referenced by writeSearchInfo().

◆ writeSearchPage()

void HtmlGenerator::writeSearchPage ( )
static

Definition at line 3094 of file htmlgen.cpp.

3095{
3096 bool disableIndex = Config_getBool(DISABLE_INDEX);
3097 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3098 bool fullSidebar = Config_getBool(FULL_SIDEBAR);
3099 bool quickLinksAfterSplitbar = !disableIndex && generateTreeView && fullSidebar;
3100 QCString projectName = Config_getString(PROJECT_NAME);
3101 QCString htmlOutput = Config_getString(HTML_OUTPUT);
3102
3103 // OPENSEARCH_PROVIDER {
3104 QCString configFileName = htmlOutput+"/search_config.php";
3105 std::ofstream f = Portable::openOutputStream(configFileName);
3106 if (f.is_open())
3107 {
3108 TextStream t(&f);
3109 t << "<?php\n\n";
3110 t << "$config = array(\n";
3111 t << " 'PROJECT_NAME' => \"" << convertToHtml(projectName) << "\",\n";
3112 t << " 'GENERATE_TREEVIEW' => " << (generateTreeView?"true":"false") << ",\n";
3113 t << " 'DISABLE_INDEX' => " << (disableIndex?"true":"false") << ",\n";
3114 t << " 'FULL_SIDEBAR' => " << (fullSidebar?"true":"false") << ",\n";
3115 t << ");\n\n";
3116 t << "$translator = array(\n";
3117 t << " 'search_results_title' => \"" << theTranslator->trSearchResultsTitle() << "\",\n";
3118 t << " 'search_results' => array(\n";
3119 t << " 0 => \"" << theTranslator->trSearchResults(0) << "\",\n";
3120 t << " 1 => \"" << theTranslator->trSearchResults(1) << "\",\n";
3121 t << " 2 => \"" << substitute(theTranslator->trSearchResults(2), "$", "\\$") << "\",\n";
3122 t << " ),\n";
3123 t << " 'search_matches' => \"" << theTranslator->trSearchMatches() << "\",\n";
3124 t << " 'search' => \"" << theTranslator->trSearch() << "\",\n";
3125 t << " 'logo' => \"" << substitute(substitute(writeLogoAsString(""), "\"","\\\""), "\n","\\n") << "\",\n";
3126 t << ");\n\n";
3127 t << "?>\n";
3128 }
3129 f.close();
3130
3131 ResourceMgr::instance().copyResource("search_functions.php",htmlOutput);
3132 ResourceMgr::instance().copyResource("search_opensearch.php",htmlOutput);
3133 // OPENSEARCH_PROVIDER }
3134
3135 QCString fileName = htmlOutput+"/search.php";
3137 if (f.is_open())
3138 {
3139 TextStream t(&f);
3140 t << substituteHtmlKeywords(g_header,"Search","");
3141
3142 t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
3143 << getDoxygenVersion() << " -->\n";
3144 t << "<script type=\"text/javascript\">\n";
3145 t << "/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */\n";
3146 t << "var searchBox = new SearchBox(\"searchBox\", \""
3147 << "search/\",'" << Doxygen::htmlFileExtension << "');\n";
3148 t << "/* @license-end */\n";
3149 t << "</script>\n";
3150
3151 if (!disableIndex && !quickLinksAfterSplitbar)
3152 {
3153 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString());
3154 }
3155 if (generateTreeView)
3156 {
3157 t << "</div><!-- top -->\n";
3158 }
3159 t << writeSplitBarAsString("search.php",QCString());
3160 if (quickLinksAfterSplitbar)
3161 {
3162 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString());
3163 }
3164 t << "<!-- generated -->\n";
3165
3166 t << "<?php\n";
3167 t << "require_once \"search_functions.php\";\n";
3168 t << "main();\n";
3169 t << "?>\n";
3170
3171 // Write empty navigation path, to make footer connect properly
3172 if (generateTreeView)
3173 {
3174 t << "</div><!-- doc-content -->\n";
3175 }
3176
3177 writePageFooter(t,"Search","","");
3178 }
3179 f.close();
3180
3181 QCString scriptName = htmlOutput+"/search/search.js";
3182 f = Portable::openOutputStream(scriptName);
3183 if (f.is_open())
3184 {
3185 TextStream t(&f);
3186 t << ResourceMgr::instance().getAsString("extsearch.js");
3187 }
3188 else
3189 {
3190 err("Failed to open file '{}' for writing...\n",scriptName);
3191 }
3192}
virtual QCString trSearchMatches()=0
virtual QCString trSearch()=0

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

Referenced by generateOutput().

◆ writeSplitBar()

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

Implements OutputGenIntf.

Definition at line 3058 of file htmlgen.cpp.

3059{
3061}

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

◆ writeSplitBarAsString()

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

Config_getBool(DISABLE_INDEX) ||

Definition at line 3011 of file htmlgen.cpp.

3012{
3013 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3014 QCString result;
3015 // write split bar
3016 if (generateTreeView)
3017 {
3018 QCString fn = name;
3020 if (/*!Config_getBool(DISABLE_INDEX) ||*/ !Config_getBool(FULL_SIDEBAR))
3021 {
3022 result += QCString(
3023 "<div id=\"side-nav\" class=\"ui-resizable side-nav-resizable\">\n");
3024 }
3025 result+=
3026 " <div id=\"nav-tree\">\n"
3027 " <div id=\"nav-tree-contents\">\n"
3028 " <div id=\"nav-sync\" class=\"sync\"></div>\n"
3029 " </div>\n"
3030 " </div>\n"
3031 " <div id=\"splitbar\" style=\"-moz-user-select:none;\" \n"
3032 " class=\"ui-resizable-handle\">\n"
3033 " </div>\n"
3034 "</div>\n"
3035 "<script type=\"text/javascript\">\n"
3036 "/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */\n"
3037 "$(function(){initNavTree('" + fn +
3038 "','" + relpath +
3039 "'); initResizable(true); });\n"
3040 "/* @license-end */\n"
3041 "</script>\n";
3042 if (Config_getBool(DISABLE_INDEX) || !Config_getBool(FULL_SIDEBAR))
3043 {
3044 result+="<div id=\"doc-content\">\n";
3045 }
3046 }
3047 else
3048 {
3049 result += "<script type=\"text/javascript\">\n"
3050 "/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */\n"
3051 "$(function(){ initResizable(false); });\n"
3052 "/* @license-end */\n"
3053 "</script>\n";
3054 }
3055 return result;
3056}

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

1767{
1768 m_t << "<li>";
1769 if (!path.isEmpty()) docify(path);
1770 QCString fn = f;
1772 m_t << "<a class=\"el\" href=\"" << fn << "\">";
1773 docify(name);
1774 m_t << "</a> ";
1775}

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

◆ writeString()

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

Implements OutputGenIntf.

Definition at line 1707 of file htmlgen.cpp.

1708{
1709 m_t << text;
1710}

References OutputGenerator::m_t.

◆ writeStyleInfo()

void HtmlGenerator::writeStyleInfo ( int part)
overridevirtual

Implements OutputGenIntf.

Definition at line 1607 of file htmlgen.cpp.

1608{
1609 //printf("writeStyleInfo(%d)\n",part);
1610 if (part==0)
1611 {
1612 if (Config_getString(HTML_STYLESHEET).isEmpty()) // write default style sheet
1613 {
1614 //printf("write doxygen.css\n");
1615 startPlainFile("doxygen.css");
1617 endPlainFile();
1618 Doxygen::indexList->addStyleSheetFile("doxygen.css");
1619 }
1620 else // write user defined style sheet
1621 {
1622 QCString cssName=Config_getString(HTML_STYLESHEET);
1623 if (!cssName.startsWith("http:") && !cssName.startsWith("https:"))
1624 {
1625 FileInfo cssfi(cssName.str());
1626 if (!cssfi.exists() || !cssfi.isFile() || !cssfi.isReadable())
1627 {
1628 err("style sheet {} does not exist or is not readable!\n", Config_getString(HTML_STYLESHEET));
1629 }
1630 else
1631 {
1632 // convert style sheet to string
1633 QCString fileStr = fileToString(cssName);
1634 // write the string into the output dir
1635 startPlainFile(cssfi.fileName().c_str());
1636 m_t << fileStr;
1637 endPlainFile();
1638 }
1639 Doxygen::indexList->addStyleSheetFile(cssfi.fileName().c_str());
1640 }
1641 }
1642 const StringVector &extraCssFiles = Config_getList(HTML_EXTRA_STYLESHEET);
1643 for (const auto &fileName : extraCssFiles)
1644 {
1645 if (!fileName.empty())
1646 {
1647 FileInfo fi(fileName);
1648 if (fi.exists())
1649 {
1650 Doxygen::indexList->addStyleSheetFile(fi.fileName().c_str());
1651 }
1652 }
1653 }
1654
1657 Doxygen::indexList->addStyleSheetFile("navtree.css");
1658
1659 Doxygen::indexList->addStyleSheetFile("dynsections.js");
1660
1661 if (Config_getEnum(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE)
1662 {
1663 Doxygen::indexList->addStyleSheetFile("darkmode_toggle.js");
1664 }
1665
1666 if (Config_getBool(INTERACTIVE_SVG))
1667 {
1669 }
1670
1671 if (!Config_getBool(DISABLE_INDEX) && Config_getBool(HTML_DYNAMIC_MENUS))
1672 {
1674 Doxygen::indexList->addStyleSheetFile("menudata.js");
1675 }
1676 }
1677}
bool startsWith(const char *s) const
Definition qcstring.h:492
static void writeDefaultStyleSheet(TextStream &t)
Definition htmlgen.cpp:1389

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

◆ writeStyleSheetFile()

void HtmlGenerator::writeStyleSheetFile ( TextStream & t)
static

Definition at line 1446 of file htmlgen.cpp.

1447{
1450}

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

3530{
3531 if (first)
3532 {
3533 m_t << " <div class=\"summary\">\n";
3534 }
3535 else
3536 {
3537 m_t << " &#124;\n";
3538 }
3539 m_t << "<a href=\"";
3540 if (!file.isEmpty())
3541 {
3542 QCString fn = file;
3544 m_t << m_relPath << fn;
3545 }
3546 else if (!anchor.isEmpty())
3547 {
3548 m_t << "#";
3549 m_t << anchor;
3550 }
3551 m_t << "\">";
3552 m_t << title;
3553 m_t << "</a>";
3554}

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

◆ writeSynopsis()

void HtmlGenerator::writeSynopsis ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 244 of file htmlgen.h.

244{}

◆ writeTabData()

void HtmlGenerator::writeTabData ( )
static

Additional initialization after indices have been created.

Definition at line 1292 of file htmlgen.cpp.

1293{
1295 QCString dname=Config_getString(HTML_OUTPUT);
1296 ResourceMgr &mgr = ResourceMgr::instance();
1297 //writeColoredImgData(dname,colored_tab_data);
1298 mgr.copyResource("tab_a.lum",dname); // active, light mode
1299 mgr.copyResource("tab_b.lum",dname); // normal, light mode
1300 mgr.copyResource("tab_h.lum",dname); // highlight, light mode
1301 mgr.copyResource("tab_s.lum",dname); // separator, light mode
1302 mgr.copyResource("tab_ad.lum",dname); // active, dark mode
1303 mgr.copyResource("tab_bd.lum",dname); // normal, dark mode
1304 mgr.copyResource("tab_hd.lum",dname); // highlight, dark mode
1305 mgr.copyResource("tab_sd.lum",dname); // separator, light mode
1306 mgr.copyResource("nav_h.lum",dname); // header gradient, light mode
1307 mgr.copyResource("nav_hd.lum",dname); // header gradient, dark mode
1308 mgr.copyResource("nav_f.lum",dname); // member definition header, light mode
1309 mgr.copyResource("nav_fd.lum",dname); // member definition header, dark mode
1310 mgr.copyResource("bc_s.luma",dname); // breadcrumb separator, light mode
1311 mgr.copyResource("bc_sd.luma",dname); // breadcrumb separator, dark mode
1312 mgr.copyResource("doxygen.svg",dname);
1313 Doxygen::indexList->addImageFile("doxygen.svg");
1314 mgr.copyResource("closed.luma",dname);
1315 mgr.copyResource("open.luma",dname);
1316 mgr.copyResource("sync_on.luma",dname);
1317 mgr.copyResource("sync_off.luma",dname);
1318 mgr.copyResource("nav_g.png",dname);
1319 Doxygen::indexList->addImageFile("nav_g.png");
1320 mgr.copyResource("plus.svg",dname);
1321 Doxygen::indexList->addImageFile("plus.svg");
1322 mgr.copyResource("minus.svg",dname);
1323 Doxygen::indexList->addImageFile("minus.svg");
1324 mgr.copyResource("plusd.svg",dname);
1325 Doxygen::indexList->addImageFile("plusd.svg");
1326 mgr.copyResource("minusd.svg",dname);
1327 Doxygen::indexList->addImageFile("minusd.svg");
1328}

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

Referenced by generateOutput().

Member Data Documentation

◆ m_codeGen

HtmlCodeGenerator* HtmlGenerator::m_codeGen = nullptr
private

Definition at line 344 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 343 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 339 of file htmlgen.h.

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

◆ m_lastTitle

QCString HtmlGenerator::m_lastTitle
private

Definition at line 338 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: