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 ()
 
- Public Member Functions inherited from OutputGenIntf

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

1090 : OutputGenerator(Config_getString(HTML_OUTPUT))
1091 , m_codeList(std::make_unique<OutputCodeList>())
1092{
1093 //printf("%p:HtmlGenerator()\n",(void*)this);
1094 m_codeGen = m_codeList->add<HtmlCodeGenerator>(&m_t);
1095}
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 1097 of file htmlgen.cpp.

1097 : OutputGenerator(og.m_dir), OutputGenIntf()
1098{
1099 //printf("%p:HtmlGenerator(copy %p)\n",(void*)this,(void*)&og);
1100 m_codeList = std::make_unique<OutputCodeList>(*og.m_codeList);
1101 m_codeGen = m_codeList->get<HtmlCodeGenerator>(OutputType::Html);
1102 m_codeGen->setTextStream(&m_t);
1105 m_relPath = og.m_relPath;
1108}
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 1130 of file htmlgen.cpp.

1131{
1133}
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 2566 of file htmlgen.cpp.

2567{
2568}

◆ addLabel()

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

Implements OutputGenIntf.

Definition at line 1689 of file htmlgen.cpp.

1690{
1691}

◆ cleanup()

void HtmlGenerator::cleanup ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1283 of file htmlgen.cpp.

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

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

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

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

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

2490{
2495
2497
2500}
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:1976
static void startSectionSummary(TextStream &t, int sectionCount)
Definition htmlgen.cpp:1954
static void endSectionContent(TextStream &t)
Definition htmlgen.cpp:1992
static void endSectionHeader(TextStream &t)
Definition htmlgen.cpp:1948
static void endSectionSummary(TextStream &t)
Definition htmlgen.cpp:1966
#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 2005 of file htmlgen.cpp.

2007{
2012 TextStream tt;
2014 if (!tt.empty())
2015 {
2016 m_t << " <div class=\"center\">\n";
2017 m_t << " <img src=\"";
2018 m_t << m_relPath << fileName << ".png\" usemap=\"#" << convertToId(name);
2019 m_t << "_map\" alt=\"\"/>\n";
2020 m_t << " <map id=\"" << convertToId(name);
2021 m_t << "_map\" name=\"" << convertToId(name);
2022 m_t << "_map\">\n";
2023 m_t << tt.str();
2024 m_t << " </map>\n";
2025 m_t << "</div>";
2026 }
2027 else
2028 {
2029 m_t << " <div class=\"center\">\n";
2030 m_t << " <img src=\"";
2031 m_t << m_relPath << fileName << ".png\" alt=\"\"/>\n";
2032 m_t << " </div>";
2033 }
2036}
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:4226

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

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

References OutputGenerator::m_t.

◆ endConstraintDocs()

void HtmlGenerator::endConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3304 of file htmlgen.cpp.

3305{
3306 m_t << "</td></tr>\n";
3307}

References OutputGenerator::m_t.

◆ endConstraintList()

void HtmlGenerator::endConstraintList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3309 of file htmlgen.cpp.

3310{
3311 m_t << "</table>\n";
3312 m_t << "</dd>\n";
3313 m_t << "</dl>\n";
3314 m_t << "</div>\n";
3315}

References OutputGenerator::m_t.

◆ endConstraintParam()

void HtmlGenerator::endConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3284 of file htmlgen.cpp.

3285{
3286 m_t << "</em></td>";
3287}

References OutputGenerator::m_t.

◆ endConstraintType()

void HtmlGenerator::endConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3294 of file htmlgen.cpp.

3295{
3296 m_t << "</em></td>";
3297}

References OutputGenerator::m_t.

◆ endContents()

void HtmlGenerator::endContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3050 of file htmlgen.cpp.

3051{
3052 m_t << "</div><!-- contents -->\n";
3053}

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

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

References OutputGenerator::m_t.

◆ endDescTableData()

void HtmlGenerator::endDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2623 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ endDescTableInit()

void HtmlGenerator::endDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2613 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ endDescTableRow()

void HtmlGenerator::endDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2593 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ endDescTableTitle()

void HtmlGenerator::endDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2603 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ endDirDepGraph()

void HtmlGenerator::endDirDepGraph ( DotDirDeps & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2507 of file htmlgen.cpp.

2508{
2513
2515
2518}
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 2419 of file htmlgen.cpp.

2420{
2421 bool generateLegend = Config_getBool(GENERATE_LEGEND);
2422 bool umlLook = Config_getBool(UML_LOOK);
2427
2429 if (generateLegend && !umlLook)
2430 {
2431 QCString url = m_relPath+"graph_legend"+Doxygen::htmlFileExtension;
2432 m_t << "<center><span class=\"legend\">[";
2433 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
2434 m_t << "<a ";
2435 if (generateTreeView) m_t << "target=\"top\" ";
2436 m_t << "href=\"";
2437 if (!url.isEmpty()) m_t << url;
2438 m_t << "\">";
2440 m_t << "</a>";
2441 m_t << "]</span></center>";
2442 }
2443
2446}
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 1685 of file htmlgen.cpp.

1686{
1687}

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

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

References OutputGenerator::m_t.

◆ endFile()

void HtmlGenerator::endFile ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1591 of file htmlgen.cpp.

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

References endPlainFile().

◆ endGroupCollaboration()

void HtmlGenerator::endGroupCollaboration ( DotGroupCollaboration & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2471 of file htmlgen.cpp.

2472{
2477
2479
2482}
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 1833 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ endHeaderSection()

void HtmlGenerator::endHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3346 of file htmlgen.cpp.

3347{
3348 m_t << "</div><!--header-->\n";
3349}

References OutputGenerator::m_t.

◆ endInclDepGraph()

void HtmlGenerator::endInclDepGraph ( DotInclDepGraph & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2453 of file htmlgen.cpp.

2454{
2459
2461
2464}
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 2560 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ endIndexItem()

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

Implements OutputGenIntf.

Definition at line 1751 of file htmlgen.cpp.

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

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

◆ endIndexKey()

void HtmlGenerator::endIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2223 of file htmlgen.cpp.

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

◆ endIndexList()

void HtmlGenerator::endIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2213 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ endIndexListItem()

void HtmlGenerator::endIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1716 of file htmlgen.cpp.

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

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

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

◆ endInlineHeader()

void HtmlGenerator::endInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3361 of file htmlgen.cpp.

3362{
3363 m_t << "</h3></td></tr>\n";
3364}

References OutputGenerator::m_t.

◆ endInlineMemberDoc()

void HtmlGenerator::endInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3411 of file htmlgen.cpp.

3412{
3413 DBG_HTML(m_t << "<!-- endInlineMemberDoc -->\n";)
3414 m_t << "</td></tr>\n";
3415}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberName()

void HtmlGenerator::endInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3399 of file htmlgen.cpp.

3400{
3401 DBG_HTML(m_t << "<!-- endInlineMemberName -->\n";)
3402 m_t << "</td>\n";
3403}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberType()

void HtmlGenerator::endInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3387 of file htmlgen.cpp.

3388{
3389 DBG_HTML(m_t << "<!-- endInlineMemberType -->\n";)
3390 m_t << "</td>\n";
3391}

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

3464{
3465 DBG_HTML(m_t << "<!-- endLabels -->\n";)
3466 m_t << "</span>";
3467}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDeclaration()

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

Implements OutputGenIntf.

Definition at line 3527 of file htmlgen.cpp.

3528{
3529 m_t << "<tr class=\"separator:" << anchor;
3530 if (!inheritId.isEmpty())
3531 {
3532 m_t << " inherit " << inheritId;
3533 }
3534 m_t << "\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n";
3535}

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

◆ endMemberDescription()

void HtmlGenerator::endMemberDescription ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2147 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDoc()

void HtmlGenerator::endMemberDoc ( bool hasArgs)
overridevirtual

Implements OutputGenIntf.

Definition at line 2403 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocList()

void HtmlGenerator::endMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2243 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocName()

void HtmlGenerator::endMemberDocName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2287 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocPrefixItem()

void HtmlGenerator::endMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2271 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocSimple()

void HtmlGenerator::endMemberDocSimple ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 3375 of file htmlgen.cpp.

3376{
3377 DBG_HTML(m_t << "<!-- endMemberDocSimple -->\n";)
3378 m_t << "</table>\n";
3379}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberGroup()

void HtmlGenerator::endMemberGroup ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2549 of file htmlgen.cpp.

2550{
2551}

◆ endMemberGroupDocs()

void HtmlGenerator::endMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2540 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ endMemberGroupHeader()

void HtmlGenerator::endMemberGroupHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2530 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ endMemberHeader()

void HtmlGenerator::endMemberHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2190 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberItem()

void HtmlGenerator::endMemberItem ( MemberItemType type)
overridevirtual

Implements OutputGenIntf.

Definition at line 2075 of file htmlgen.cpp.

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

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

◆ endMemberList()

void HtmlGenerator::endMemberList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2044 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberSections()

void HtmlGenerator::endMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2161 of file htmlgen.cpp.

2162{
2163 DBG_HTML(m_t << "<!-- endMemberSections -->\n")
2165 {
2166 m_t << "</table>\n";
2167 }
2168}
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 2202 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberTemplateParams()

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

Implements OutputGenIntf.

Definition at line 2088 of file htmlgen.cpp.

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

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

◆ endPageDoc()

void HtmlGenerator::endPageDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3060 of file htmlgen.cpp.

3061{
3062 m_t << "</div><!-- PageDoc -->\n";
3063}

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

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

References OutputGenerator::m_t.

◆ endParameterDefVal()

void HtmlGenerator::endParameterDefVal ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2372 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ endParameterExtra()

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

Implements OutputGenIntf.

Definition at line 2341 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterList()

void HtmlGenerator::endParameterList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2377 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterName()

void HtmlGenerator::endParameterName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2330 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterType()

void HtmlGenerator::endParameterType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2318 of file htmlgen.cpp.

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

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

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

References OutputGenerator::m_t.

◆ endQuickIndices()

void HtmlGenerator::endQuickIndices ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2981 of file htmlgen.cpp.

2982{
2983 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
2984 m_t << "</div><!-- top -->\n";
2985 if (!generateTreeView)
2986 {
2987 m_t << "<div id=\"doc-content\">\n";
2988 }
2989}

References Config_getBool, and OutputGenerator::m_t.

◆ endSection()

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

Implements OutputGenIntf.

Definition at line 1865 of file htmlgen.cpp.

1866{
1867 switch(type.level())
1868 {
1869 case SectionType::Page: m_t << "</h1>"; break;
1870 case SectionType::Section: m_t << "</h2>"; break;
1871 case SectionType::Subsection: m_t << "</h3>"; break;
1872 case SectionType::Subsubsection: m_t << "</h4>"; break;
1873 case SectionType::Paragraph: m_t << "</h5>"; break;
1874 case SectionType::Subparagraph: m_t << "</h6>"; break;
1875 case SectionType::Subsubparagraph: m_t << "</h6>"; break;
1876 default: ASSERT(0); break;
1877 }
1878}
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 1812 of file htmlgen.cpp.

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

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

3341{
3342 endTitle();
3343 m_t << "</div>\n";
3344}
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 2384 of file htmlgen.cpp.

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

References DBG_HTML, OutputGenerator::m_t, and prefix.

◆ getMathJaxMacros()

QCString HtmlGenerator::getMathJaxMacros ( )
static

Definition at line 3537 of file htmlgen.cpp.

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

References getConvertLatexMacro().

◆ getNavTreeCss()

QCString HtmlGenerator::getNavTreeCss ( )
static

Definition at line 3542 of file htmlgen.cpp.

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

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

Referenced by init().

◆ init()

void HtmlGenerator::init ( )
static

Definition at line 1135 of file htmlgen.cpp.

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

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

Referenced by generateOutput().

◆ insertMemberAlign()

void HtmlGenerator::insertMemberAlign ( bool templ)
overridevirtual

Implements OutputGenIntf.

Definition at line 2109 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

Referenced by endMemberItem().

◆ insertMemberAlignLeft()

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

Implements OutputGenIntf.

Definition at line 2116 of file htmlgen.cpp.

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

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

3318{
3319 if (!style.isEmpty())
3320 {
3321 m_t << "<br class=\"" << style << "\" />\n";
3322 }
3323 else
3324 {
3325 m_t << "<br />\n";
3326 }
3327}

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

◆ operator=() [1/2]

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

Definition at line 1110 of file htmlgen.cpp.

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

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

2485{
2487}
static void startSectionHeader(TextStream &t, const QCString &relPath, int sectionCount)
Definition htmlgen.cpp:1928

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

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

◆ startCompoundTemplateParams()

void HtmlGenerator::startCompoundTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2099 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ startConstraintDocs()

void HtmlGenerator::startConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3299 of file htmlgen.cpp.

3300{
3301 m_t << "<td>&#160;";
3302}

References OutputGenerator::m_t.

◆ startConstraintList()

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

Implements OutputGenIntf.

Definition at line 3272 of file htmlgen.cpp.

3273{
3274 m_t << "<div class=\"typeconstraint\">\n";
3275 m_t << "<dl><dt><b>" << header << "</b></dt><dd>\n";
3276 m_t << "<table border=\"0\" cellspacing=\"2\" cellpadding=\"0\">\n";
3277}

References OutputGenerator::m_t.

◆ startConstraintParam()

void HtmlGenerator::startConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3279 of file htmlgen.cpp.

3280{
3281 m_t << "<tr><td valign=\"top\"><em>";
3282}

References OutputGenerator::m_t.

◆ startConstraintType()

void HtmlGenerator::startConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3289 of file htmlgen.cpp.

3290{
3291 m_t << "<td>&#160;:</td><td valign=\"top\"><em>";
3292}

References OutputGenerator::m_t.

◆ startContents()

void HtmlGenerator::startContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3045 of file htmlgen.cpp.

3046{
3047 m_t << "<div class=\"contents\">\n";
3048}

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

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

References OutputGenerator::m_t.

◆ startDescTableData()

void HtmlGenerator::startDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2618 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ startDescTableInit()

void HtmlGenerator::startDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2608 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ startDescTableRow()

void HtmlGenerator::startDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2588 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ startDescTableTitle()

void HtmlGenerator::startDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2598 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ startDirDepGraph()

void HtmlGenerator::startDirDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2502 of file htmlgen.cpp.

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

◆ startDotGraph()

void HtmlGenerator::startDotGraph ( )
overridevirtual

Implements OutputGenIntf.

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

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

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

2629{
2630 m_t << "<dl class=\"section examples\"><dt>";
2632 m_t << "</dt>";
2633}
void docify(const QCString &text) override
Definition htmlgen.cpp:1880
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 1465 of file htmlgen.cpp.

1467{
1468 //printf("HtmlGenerator::startFile(%s)\n",qPrint(name));
1470 QCString fileName = name;
1472 m_lastTitle=title;
1473
1475 m_codeGen->setFileName(fileName);
1476 m_codeGen->setRelativePath(m_relPath);
1477 {
1478 std::lock_guard<std::mutex> lock(g_indexLock);
1480 }
1481
1484
1485 m_t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
1486 << getDoxygenVersion() << " -->\n";
1487 bool searchEngine = Config_getBool(SEARCHENGINE);
1488 if (searchEngine /*&& !generateTreeView*/)
1489 {
1490 m_t << "<script type=\"text/javascript\">\n";
1491 m_t << "/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */\n";
1492 m_t << "var searchBox = new SearchBox(\"searchBox\", \""
1493 << m_relPath<< "search/\",'" << Doxygen::htmlFileExtension << "');\n";
1494 m_t << "/* @license-end */\n";
1495 m_t << "</script>\n";
1496 }
1497 if (Config_getBool(HTML_CODE_FOLDING))
1498 {
1499 m_t << "<script type=\"text/javascript\">\n";
1500 m_t << "/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */\n";
1501 m_t << "$(function() { codefold.init(" << (m_relPath.isEmpty() ? "0" : "1") << "); });\n";
1502 m_t << "/* @license-end */\n";
1503 m_t << "</script>\n";
1504 }
1506}
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:1463
QCString convertToHtml(const QCString &s, bool keepEntities)
Definition util.cpp:4317
QCString relativePathToRoot(const QCString &name)
Definition util.cpp:3933
QCString filterTitle(const QCString &title)
Definition util.cpp:5921
void addHtmlExtensionIfMissing(QCString &fName)
Definition util.cpp:5243

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

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

References OutputGenerator::m_t.

◆ startHeaderSection()

void HtmlGenerator::startHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3329 of file htmlgen.cpp.

3330{
3331 m_t << "<div class=\"header\">\n";
3332}

References OutputGenerator::m_t.

◆ startInclDepGraph()

void HtmlGenerator::startInclDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2448 of file htmlgen.cpp.

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

◆ startIndent()

void HtmlGenerator::startIndent ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2553 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ startIndexItem()

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

Implements OutputGenIntf.

Definition at line 1721 of file htmlgen.cpp.

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

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

◆ startIndexKey()

void HtmlGenerator::startIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2218 of file htmlgen.cpp.

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

◆ startIndexList()

void HtmlGenerator::startIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2208 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ startIndexListItem()

void HtmlGenerator::startIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1711 of file htmlgen.cpp.

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

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

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

◆ startInlineHeader()

void HtmlGenerator::startInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3351 of file htmlgen.cpp.

3352{
3353 if (m_emptySection)
3354 {
3355 m_t << "<table class=\"memberdecls\">\n";
3357 }
3358 m_t << "<tr><td colspan=\"2\"><h3>";
3359}

References FALSE, m_emptySection, and OutputGenerator::m_t.

◆ startInlineMemberDoc()

void HtmlGenerator::startInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3405 of file htmlgen.cpp.

3406{
3407 DBG_HTML(m_t << "<!-- startInlineMemberDoc -->\n";)
3408 m_t << "<td class=\"fielddoc\">\n";
3409}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberName()

void HtmlGenerator::startInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3393 of file htmlgen.cpp.

3394{
3395 DBG_HTML(m_t << "<!-- startInlineMemberName -->\n";)
3396 m_t << "<td class=\"fieldname\">\n";
3397}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberType()

void HtmlGenerator::startInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3381 of file htmlgen.cpp.

3382{
3383 DBG_HTML(m_t << "<!-- startInlineMemberType -->\n";)
3384 m_t << "<tr><td class=\"fieldtype\">\n";
3385}

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

3418{
3419 DBG_HTML(m_t << "<!-- startLabels -->\n";)
3420 m_t << "<span class=\"mlabels\">";
3421}

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

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

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

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

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

◆ startMemberDocList()

void HtmlGenerator::startMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2238 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocName()

void HtmlGenerator::startMemberDocName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2277 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocPrefixItem()

void HtmlGenerator::startMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2265 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocSimple()

void HtmlGenerator::startMemberDocSimple ( bool isEnum)
overridevirtual

Implements OutputGenIntf.

Definition at line 3366 of file htmlgen.cpp.

3367{
3368 DBG_HTML(m_t << "<!-- startMemberDocSimple -->\n";)
3369 m_t << "<table class=\"fieldtable\">\n";
3370 m_t << "<tr><th colspan=\"" << (isEnum?"2":"3") << "\">";
3371 m_t << (isEnum? theTranslator->trEnumerationValues() :
3372 theTranslator->trCompoundMembers()) << "</th></tr>\n";
3373}
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 2545 of file htmlgen.cpp.

2546{
2547}

◆ startMemberGroupDocs()

void HtmlGenerator::startMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2535 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ startMemberGroupHeader()

void HtmlGenerator::startMemberGroupHeader ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2525 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ startMemberHeader()

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

Implements OutputGenIntf.

Definition at line 2170 of file htmlgen.cpp.

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

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

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

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

◆ startMemberList()

void HtmlGenerator::startMemberList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2039 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberSections()

void HtmlGenerator::startMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2153 of file htmlgen.cpp.

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

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

◆ startMemberSubtitle()

void HtmlGenerator::startMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2196 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberTemplateParams()

void HtmlGenerator::startMemberTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2084 of file htmlgen.cpp.

2085{
2086}

◆ startPageDoc()

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

Implements OutputGenIntf.

Definition at line 3055 of file htmlgen.cpp.

3056{
3057 m_t << "<div>";
3058}

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

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

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

◆ startParameterDefVal()

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

Implements OutputGenIntf.

Definition at line 2365 of file htmlgen.cpp.

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

References docify(), and OutputGenerator::m_t.

◆ startParameterExtra()

void HtmlGenerator::startParameterExtra ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2336 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterList()

void HtmlGenerator::startParameterList ( bool openBracket)
overridevirtual

Implements OutputGenIntf.

Definition at line 2293 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterName()

void HtmlGenerator::startParameterName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2324 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterType()

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

Implements OutputGenIntf.

Definition at line 2301 of file htmlgen.cpp.

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

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

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

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

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

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

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

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

3335{
3336 m_t << " <div class=\"headertitle\">";
3337 startTitle();
3338}
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 1918 of file htmlgen.cpp.

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

References docify().

◆ writeDoc()

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

Implements OutputGenIntf.

Definition at line 2640 of file htmlgen.cpp.

2641{
2642 const DocNodeAST *astImpl = dynamic_cast<const DocNodeAST*>(ast);
2643 if (astImpl)
2644 {
2645 m_codeList->setId(id);
2646 HtmlDocVisitor visitor(m_t,*m_codeList,ctx,fileName());
2647 std::visit(visitor,astImpl->root);
2648 }
2649}
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 3162 of file htmlgen.cpp.

3163{
3164 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3165 QCString dname = Config_getString(HTML_OUTPUT);
3166 QCString fileName = dname+"/search"+Doxygen::htmlFileExtension;
3167 std::ofstream f = Portable::openOutputStream(fileName);
3168 if (f.is_open())
3169 {
3170 TextStream t(&f);
3171 t << substituteHtmlKeywords(g_header,"Search","");
3172
3173 t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
3174 << getDoxygenVersion() << " -->\n";
3175 t << "<script type=\"text/javascript\">\n";
3176 t << "/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */\n";
3177 t << "var searchBox = new SearchBox(\"searchBox\", \""
3178 << "search/\",'" << Doxygen::htmlFileExtension << "');\n";
3179 t << "/* @license-end */\n";
3180 t << "</script>\n";
3181 if (!Config_getBool(DISABLE_INDEX))
3182 {
3183 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString());
3184 if (!Config_getBool(HTML_DYNAMIC_MENUS)) // for dynamic menus, menu.js creates this part
3185 {
3186 t << " <input type=\"text\" id=\"MSearchField\" name=\"query\" value=\"\" placeholder=\"" << theTranslator->trSearch() <<
3187 "\" size=\"20\" accesskey=\"S\" onfocus=\"searchBox.OnSearchFieldFocus(true)\" onblur=\"searchBox.OnSearchFieldFocus(false)\"/>\n";
3188 }
3189 t << " </form>\n";
3190 t << " </div><div class=\"right\"></div>\n";
3191 t << " </div>\n";
3192 t << " </li>\n";
3193 t << " </ul>\n";
3194 t << " </div>\n";
3195 t << "</div>\n";
3196 }
3197 else
3198 {
3199 t << "</div>\n";
3200 }
3201 t << writeSplitBarAsString("search","");
3202 t << "<div class=\"header\">\n";
3203 t << " <div class=\"headertitle\">\n";
3204 t << " <div class=\"title\">" << theTranslator->trSearchResultsTitle() << "</div>\n";
3205 t << " </div>\n";
3206 t << "</div>\n";
3207 t << "<div class=\"contents\">\n";
3208
3209 t << "<div id=\"searchresults\"></div>\n";
3210 t << "</div>\n";
3211
3212 if (generateTreeView)
3213 {
3214 t << "</div><!-- doc-content -->\n";
3215 }
3216
3217 writePageFooter(t,"Search","","");
3218
3219 }
3220 f.close();
3221
3222 QCString scriptName = dname+"/search/search.js";
3223 f = Portable::openOutputStream(scriptName);
3224 if (f.is_open())
3225 {
3226 TextStream t(&f);
3227 t << "var searchResultsText=["
3228 << "\"" << theTranslator->trSearchResults(0) << "\","
3229 << "\"" << theTranslator->trSearchResults(1) << "\","
3230 << "\"" << theTranslator->trSearchResults(2) << "\"];\n";
3231 t << "var serverUrl=\"" << Config_getString(SEARCHENGINE_URL) << "\";\n";
3232 t << "var tagMap = {\n";
3233 bool first=TRUE;
3234 // add search mappings
3235 const StringVector &extraSearchMappings = Config_getList(EXTRA_SEARCH_MAPPINGS);
3236 for (const auto &ml : extraSearchMappings)
3237 {
3238 QCString mapLine = ml.c_str();
3239 int eqPos = mapLine.find('=');
3240 if (eqPos!=-1) // tag command contains a destination
3241 {
3242 QCString tagName = mapLine.left(eqPos).stripWhiteSpace();
3243 QCString destName = mapLine.right(mapLine.length()-eqPos-1).stripWhiteSpace();
3244 if (!tagName.isEmpty())
3245 {
3246 if (!first) t << ",\n";
3247 t << " \"" << tagName << "\": \"" << destName << "\"";
3248 first=FALSE;
3249 }
3250 }
3251 }
3252 if (!first) t << "\n";
3253 t << "};\n\n";
3254 t << ResourceMgr::instance().getAsString("extsearch.js");
3255 t << "\n";
3256 t << "$(function() {\n";
3257 t << " var query = trim(getURLParameter('query'));\n";
3258 t << " if (query) {\n";
3259 t << " searchFor(query,0,20);\n";
3260 t << " } else {\n";
3261 t << " var results = $('#results');\n";
3262 t << " results.html('<p>" << theTranslator->trSearchResults(0) << "</p>');\n";
3263 t << " }\n";
3264 t << "});\n";
3265 }
3266 else
3267 {
3268 err("Failed to open file '%s' for writing...\n",qPrint(scriptName));
3269 }
3270}
static QCString writeSplitBarAsString(const QCString &name, const QCString &relpath)
Definition htmlgen.cpp:2991
static void writePageFooter(TextStream &t, const QCString &, const QCString &, const QCString &)
Definition htmlgen.cpp:1580
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 trSearch()=0
virtual QCString trSearchResultsTitle()=0
virtual QCString trSearchResults(int numDocuments)=0
#define Config_getList(name)
Definition config.h:38
std::vector< std::string > StringVector
Definition containers.h:33
static void writeDefaultQuickLinks(TextStream &t, HighlightedItem hli, const QCString &file, const QCString &relPath)
Definition htmlgen.cpp:2851
#define err(fmt,...)
Definition message.h:84

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

Referenced by generateOutput().

◆ writeFooter()

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

Implements OutputGenIntf.

Definition at line 1586 of file htmlgen.cpp.

1587{
1589}

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

◆ writeFooterFile()

void HtmlGenerator::writeFooterFile ( TextStream & t)
static

Definition at line 1457 of file htmlgen.cpp.

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

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

Referenced by readConfiguration().

◆ writeGraphicalHierarchy()

void HtmlGenerator::writeGraphicalHierarchy ( DotGfxHierarchyTable & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2520 of file htmlgen.cpp.

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

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

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

3473{
3474 DBG_HTML(m_t << "<!-- writeInheritedSectionTitle -->\n";)
3475 QCString a = anchor;
3476 if (!a.isEmpty()) a.prepend("#");
3477 QCString classLink = QCString("<a class=\"el\" ");
3478 if (!ref.isEmpty())
3479 {
3480 classLink+= externalLinkTarget();
3481 classLink += " href=\"";
3482 classLink+= externalRef(m_relPath,ref,TRUE);
3483 }
3484 else
3485 {
3486 classLink += "href=\"";
3487 classLink+=m_relPath;
3488 }
3489 QCString fn = file;
3491 classLink=classLink+fn+a;
3492 classLink+=QCString("\">")+convertToHtml(name,FALSE)+"</a>";
3493 m_t << "<tr class=\"inherit_header " << id << "\">"
3494 << "<td colspan=\"2\" onclick=\"javascript:dynsection.toggleInherit('" << id << "')\">"
3495 << "<img src=\"" << m_relPath << "closed.png\" alt=\"-\"/>&#160;"
3496 << theTranslator->trInheritedFrom(convertToHtml(title,FALSE),classLink)
3497 << "</td></tr>\n";
3498}
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 3423 of file htmlgen.cpp.

3424{
3425 DBG_HTML(m_t << "<!-- writeLabel(" << label << ") -->\n";)
3426
3427 auto convertLabelToClass = [](const std::string &lab) {
3428 QCString input = convertUTF8ToLower(lab);
3429 QCString result;
3430 size_t l=input.length();
3431 result.reserve(l);
3432
3433 // Create valid class selector, see 10.2 here https://www.w3.org/TR/selectors-3/#w3cselgrammar
3434 // ident [-]?{nmstart}{nmchar}*
3435 // nmstart [_a-z]|{nonascii}
3436 // nonascii [^\0-\177]
3437 // nmchar [_a-z0-9-]|{nonascii}
3438
3439 bool nmstart=false;
3440 for (size_t i=0; i<l; i++)
3441 {
3442 char c = input.at(i);
3443 if (c<0 || (c>='a' && c<='z') || c=='_') // nmstart pattern
3444 {
3445 nmstart=true;
3446 result+=c;
3447 }
3448 else if (nmstart && (c<0 || (c>='a' && c<='z') || (c>='0' && c<='9') || c=='_')) // nmchar pattern
3449 {
3450 result+=c;
3451 }
3452 else if (nmstart && (c==' ' || c=='-')) // show whitespace as -
3453 {
3454 result+='-';
3455 }
3456 }
3457 return result;
3458 };
3459
3460 m_t << "<span class=\"mlabel " << convertLabelToClass(label.stripWhiteSpace().str()) << "\">" << label << "</span>";
3461}
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 3548 of file htmlgen.cpp.

3549{
3550 if (localToc.isHtmlEnabled())
3551 {
3552 int level=0;
3553 int indent=0;
3554 auto writeIndent = [&]() { for (int i=0;i<indent*2;i++) m_t << " "; };
3555 auto incIndent = [&](const QCString &text) { writeIndent(); m_t << text << "\n"; indent++; };
3556 auto decIndent = [&](const QCString &text) { indent--; writeIndent(); m_t << text << "\n"; };
3557 m_t << "<div class=\"toc\">";
3558 m_t << "<h3>" << theTranslator->trRTFTableOfContents() << "</h3>\n";
3559 int maxLevel = localToc.htmlLevel();
3560 char cs[2];
3561 cs[1]='\0';
3562 BoolVector inLi(maxLevel+1,false);
3563 for (const SectionInfo *si : sectionRefs)
3564 {
3565 //printf("Section: label=%s type=%d isSection()=%d\n",qPrint(si->label()),si->type(),isSection(si->type()));
3566 SectionType type = si->type();
3567 if (type.isSection())
3568 {
3569 //printf(" level=%d title=%s maxLevel=%d\n",level,qPrint(si->title()),maxLevel);
3570 int nextLevel = type.level();
3571 if (nextLevel>level)
3572 {
3573 for (int l=level;l<nextLevel;l++)
3574 {
3575 if (l < maxLevel)
3576 {
3577 incIndent("<ul>");
3578 cs[0]=static_cast<char>('0'+l+1);
3579 const char *empty = (l!=nextLevel-1) ? " empty" : "";
3580 incIndent("<li class=\"level" + QCString(cs) + empty + "\">");
3581 }
3582 }
3583 }
3584 else if (nextLevel<level)
3585 {
3586 for (int l=level;l>nextLevel;l--)
3587 {
3588 if (l <= maxLevel) decIndent("</li>");
3589 inLi[l] = false;
3590 if (l <= maxLevel) decIndent("</ul>");
3591 }
3592 }
3593 if (nextLevel <= maxLevel)
3594 {
3595 if (inLi[nextLevel] || level>nextLevel)
3596 {
3597 decIndent("</li>");
3598 cs[0]=static_cast<char>('0'+nextLevel);
3599 incIndent("<li class=\"level" + QCString(cs) + "\">");
3600 }
3601 QCString titleDoc = si->title();
3602 QCString label = si->label();
3603 if (titleDoc.isEmpty()) titleDoc = label;
3604 writeIndent();
3605 m_t << "<a href=\"#"+label+"\">"
3606 << convertToHtml(filterTitle(titleDoc))
3607 << "</a>\n";
3608 inLi[nextLevel]=true;
3609 level = nextLevel;
3610 }
3611 }
3612 }
3613 if (level > maxLevel) level = maxLevel;
3614 while (level>0)
3615 {
3616 decIndent("</li>");
3617 decIndent("</ul>");
3618 level--;
3619 }
3620 m_t << "</div>\n";
3621 }
3622}
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 1575 of file htmlgen.cpp.

1576{
1578}
static QCString writeLogoAsString(const QCString &path)
Definition htmlgen.cpp:1544

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

◆ writeLogoAsString()

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

Definition at line 1544 of file htmlgen.cpp.

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

3041{
3042 m_t << substitute(s,"$relpath^",m_relPath);
3043}

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

◆ writeNonBreakableSpace()

void HtmlGenerator::writeNonBreakableSpace ( int n)
overridevirtual

Implements OutputGenIntf.

Definition at line 2570 of file htmlgen.cpp.

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

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

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

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

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

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

3066{
3068}

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

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

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

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

◆ writeSearchInfoStatic()

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

Definition at line 1508 of file htmlgen.cpp.

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

3072{
3073 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3074 bool disableIndex = Config_getBool(DISABLE_INDEX);
3075 QCString projectName = Config_getString(PROJECT_NAME);
3076 QCString htmlOutput = Config_getString(HTML_OUTPUT);
3077
3078 // OPENSEARCH_PROVIDER {
3079 QCString configFileName = htmlOutput+"/search_config.php";
3080 std::ofstream f = Portable::openOutputStream(configFileName);
3081 if (f.is_open())
3082 {
3083 TextStream t(&f);
3084 t << "<?php\n\n";
3085 t << "$config = array(\n";
3086 t << " 'PROJECT_NAME' => \"" << convertToHtml(projectName) << "\",\n";
3087 t << " 'GENERATE_TREEVIEW' => " << (generateTreeView?"true":"false") << ",\n";
3088 t << " 'DISABLE_INDEX' => " << (disableIndex?"true":"false") << ",\n";
3089 t << ");\n\n";
3090 t << "$translator = array(\n";
3091 t << " 'search_results_title' => \"" << theTranslator->trSearchResultsTitle() << "\",\n";
3092 t << " 'search_results' => array(\n";
3093 t << " 0 => \"" << theTranslator->trSearchResults(0) << "\",\n";
3094 t << " 1 => \"" << theTranslator->trSearchResults(1) << "\",\n";
3095 t << " 2 => \"" << substitute(theTranslator->trSearchResults(2), "$", "\\$") << "\",\n";
3096 t << " ),\n";
3097 t << " 'search_matches' => \"" << theTranslator->trSearchMatches() << "\",\n";
3098 t << " 'search' => \"" << theTranslator->trSearch() << "\",\n";
3099 t << " 'split_bar' => \"" << substitute(substitute(writeSplitBarAsString("search",""), "\"","\\\""), "\n","\\n") << "\",\n";
3100 t << " 'logo' => \"" << substitute(substitute(writeLogoAsString(""), "\"","\\\""), "\n","\\n") << "\",\n";
3101 t << ");\n\n";
3102 t << "?>\n";
3103 }
3104 f.close();
3105
3106 ResourceMgr::instance().copyResource("search_functions.php",htmlOutput);
3107 ResourceMgr::instance().copyResource("search_opensearch.php",htmlOutput);
3108 // OPENSEARCH_PROVIDER }
3109
3110 QCString fileName = htmlOutput+"/search.php";
3112 if (f.is_open())
3113 {
3114 TextStream t(&f);
3115 t << substituteHtmlKeywords(g_header,"Search","");
3116
3117 t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
3118 << getDoxygenVersion() << " -->\n";
3119 t << "<script type=\"text/javascript\">\n";
3120 t << "/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */\n";
3121 t << "var searchBox = new SearchBox(\"searchBox\", \""
3122 << "search/\",'" << Doxygen::htmlFileExtension << "');\n";
3123 t << "/* @license-end */\n";
3124 t << "</script>\n";
3125 if (!Config_getBool(DISABLE_INDEX))
3126 {
3127 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString());
3128 }
3129 else
3130 {
3131 t << "</div>\n";
3132 }
3133
3134 t << "<?php\n";
3135 t << "require_once \"search_functions.php\";\n";
3136 t << "main();\n";
3137 t << "?>\n";
3138
3139 // Write empty navigation path, to make footer connect properly
3140 if (generateTreeView)
3141 {
3142 t << "</div><!-- doc-content -->\n";
3143 }
3144
3145 writePageFooter(t,"Search","","");
3146 }
3147 f.close();
3148
3149 QCString scriptName = htmlOutput+"/search/search.js";
3150 f = Portable::openOutputStream(scriptName);
3151 if (f.is_open())
3152 {
3153 TextStream t(&f);
3154 t << ResourceMgr::instance().getAsString("extsearch.js");
3155 }
3156 else
3157 {
3158 err("Failed to open file '%s' for writing...\n",qPrint(scriptName));
3159 }
3160}
virtual QCString trSearchMatches()=0

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

Referenced by generateOutput().

◆ writeSplitBar()

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

Implements OutputGenIntf.

Definition at line 3035 of file htmlgen.cpp.

3036{
3038}

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

◆ writeSplitBarAsString()

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

Definition at line 2991 of file htmlgen.cpp.

2992{
2993 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
2994 QCString result;
2995 // write split bar
2996 if (generateTreeView)
2997 {
2998 QCString fn = name;
3000 if (!Config_getBool(DISABLE_INDEX) || !Config_getBool(FULL_SIDEBAR))
3001 {
3002 result += QCString(
3003 "<div id=\"side-nav\" class=\"ui-resizable side-nav-resizable\">\n");
3004 }
3005 result+= QCString(
3006 " <div id=\"nav-tree\">\n"
3007 " <div id=\"nav-tree-contents\">\n"
3008 " <div id=\"nav-sync\" class=\"sync\"></div>\n"
3009 " </div>\n"
3010 " </div>\n"
3011 " <div id=\"splitbar\" style=\"-moz-user-select:none;\" \n"
3012 " class=\"ui-resizable-handle\">\n"
3013 " </div>\n"
3014 "</div>\n"
3015 "<script type=\"text/javascript\">\n"
3016 "/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */\n"
3017 "$(function(){initNavTree('") + fn +
3018 QCString("','") + relpath +
3019 QCString("'); initResizable(true); });\n"
3020 "/* @license-end */\n"
3021 "</script>\n"
3022 "<div id=\"doc-content\">\n");
3023 }
3024 else
3025 {
3026 result += "<script type=\"text/javascript\">\n"
3027 "/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */\n"
3028 "$(function(){ initResizable(false); });\n"
3029 "/* @license-end */\n"
3030 "</script>\n";
3031 }
3032 return result;
3033}

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

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

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

◆ writeString()

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

Implements OutputGenIntf.

Definition at line 1706 of file htmlgen.cpp.

1707{
1708 m_t << text;
1709}

References OutputGenerator::m_t.

◆ writeStyleInfo()

void HtmlGenerator::writeStyleInfo ( int part)
overridevirtual

Implements OutputGenIntf.

Definition at line 1606 of file htmlgen.cpp.

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

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

◆ writeStyleSheetFile()

void HtmlGenerator::writeStyleSheetFile ( TextStream & t)
static

Definition at line 1445 of file htmlgen.cpp.

1446{
1449}

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

3501{
3502 if (first)
3503 {
3504 m_t << " <div class=\"summary\">\n";
3505 }
3506 else
3507 {
3508 m_t << " &#124;\n";
3509 }
3510 m_t << "<a href=\"";
3511 if (!file.isEmpty())
3512 {
3513 QCString fn = file;
3515 m_t << m_relPath << fn;
3516 }
3517 else if (!anchor.isEmpty())
3518 {
3519 m_t << "#";
3520 m_t << anchor;
3521 }
3522 m_t << "\">";
3523 m_t << title;
3524 m_t << "</a>";
3525}

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

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

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: