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

Generator for HTML output. More...

#include <src/htmlgen.h>

Inheritance diagram for HtmlGenerator:
Collaboration diagram for HtmlGenerator:

Classes

struct  TocState

Public Member Functions

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

Static Public Member Functions

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

Private Member Functions

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

Static Private Member Functions

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

Private Attributes

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

Additional Inherited Members

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

Detailed Description

Generator for HTML output.

Definition at line 95 of file htmlgen.h.

Constructor & Destructor Documentation

◆ HtmlGenerator() [1/3]

HtmlGenerator::HtmlGenerator ( )

Definition at line 1138 of file htmlgen.cpp.

1139 : OutputGenerator(Config_getString(HTML_OUTPUT))
1140 , m_codeList(std::make_unique<OutputCodeList>())
1141{
1142 //printf("%p:HtmlGenerator()\n",(void*)this);
1143 m_codeGen = m_codeList->add<HtmlCodeGenerator>(&m_t);
1144}
HtmlCodeGenerator * m_codeGen
Definition htmlgen.h:348
std::unique_ptr< OutputCodeList > m_codeList
Definition htmlgen.h:347
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 1146 of file htmlgen.cpp.

1146 : OutputGenerator(og.m_dir), OutputGenIntf()
1147{
1148 //printf("%p:HtmlGenerator(copy %p)\n",(void*)this,(void*)&og);
1149 m_codeList = std::make_unique<OutputCodeList>(*og.m_codeList);
1150 m_codeGen = m_codeList->get<HtmlCodeGenerator>(OutputType::Html);
1151 m_codeGen->setTextStream(&m_t);
1154 m_relPath = og.m_relPath;
1157}
int m_sectionCount
Definition htmlgen.h:345
QCString m_lastFile
Definition htmlgen.h:343
QCString m_relPath
Definition htmlgen.h:344
bool m_emptySection
Definition htmlgen.h:346
QCString m_lastTitle
Definition htmlgen.h:342
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 1179 of file htmlgen.cpp.

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

References OutputCodeList::add(), and m_codeGen.

◆ addIndexItem()

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

Implements OutputGenIntf.

Definition at line 2639 of file htmlgen.cpp.

2640{
2641}

◆ addLabel()

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

Implements OutputGenIntf.

Definition at line 1745 of file htmlgen.cpp.

1746{
1747}

◆ cleanup()

void HtmlGenerator::cleanup ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1336 of file htmlgen.cpp.

1337{
1338 QCString dname = Config_getString(HTML_OUTPUT);
1339 Dir d(dname.str());
1340 clearSubDirs(d);
1341}
const std::string & str() const
Definition qcstring.h:552
void clearSubDirs(const Dir &d)
Definition util.cpp:3609

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

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

1947{
1948 if (!str.isEmpty())
1949 {
1950 const char *p=str.data();
1951 while (*p)
1952 {
1953 char c=*p++;
1954 switch(c)
1955 {
1956 case '<': m_t << "&lt;"; break;
1957 case '>': m_t << "&gt;"; break;
1958 case '&': m_t << "&amp;"; break;
1959 case '"': m_t << "&quot;"; break;
1960 case '-': if (inHtmlComment) m_t << "&#45;"; else m_t << "-"; break;
1961 case '\\':
1962 if (*p=='<')
1963 { m_t << "&lt;"; p++; }
1964 else if (*p=='>')
1965 { m_t << "&gt;"; p++; }
1966 else if (*p=='[')
1967 { m_t << "\\&zwj;["; p++; }
1968 else if (*p==']')
1969 { m_t << "\\&zwj;]"; p++; }
1970 else if (*p=='(')
1971 { m_t << "\\&zwj;("; p++; }
1972 else if (*p==')')
1973 { m_t << "\\&zwj;)"; p++; }
1974 else
1975 m_t << "\\";
1976 break;
1977 default: m_t << c;
1978 }
1979 }
1980 }
1981}

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

2563{
2568
2570
2573}
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:2040
static void startSectionSummary(TextStream &t, int sectionCount)
Definition htmlgen.cpp:2018
static void endSectionContent(TextStream &t)
Definition htmlgen.cpp:2056
static void endSectionHeader(TextStream &t)
Definition htmlgen.cpp:2012
static void endSectionSummary(TextStream &t)
Definition htmlgen.cpp:2030
#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 2069 of file htmlgen.cpp.

2071{
2076 TextStream tt;
2078 if (!tt.empty())
2079 {
2080 m_t << " <div class=\"center\">\n";
2081 m_t << " <img src=\"";
2082 m_t << m_relPath << fileName << ".png\" usemap=\"#" << convertToId(name);
2083 m_t << "_map\" alt=\"\"/>\n";
2084 m_t << " <map id=\"" << convertToId(name);
2085 m_t << "_map\" name=\"" << convertToId(name);
2086 m_t << "_map\">\n";
2087 m_t << tt.str();
2088 m_t << " </map>\n";
2089 m_t << "</div>";
2090 }
2091 else
2092 {
2093 m_t << " <div class=\"center\">\n";
2094 m_t << " <img src=\"";
2095 m_t << m_relPath << fileName << ".png\" alt=\"\"/>\n";
2096 m_t << " </div>";
2097 }
2100}
void writeImage(TextStream &t, const QCString &path, const QCString &relPath, const QCString &file, bool generateMap=true) const
Definition diagram.cpp:1361
bool empty() const
Returns true iff the buffer is empty.
Definition textstream.h:240
std::string str() const
Return the contents of the buffer as a std::string object.
Definition textstream.h:216
QCString convertToId(const QCString &s)
Definition util.cpp:3814

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

2169{
2170 m_t << "</div>";
2171}

References OutputGenerator::m_t.

◆ endConstraintDocs()

void HtmlGenerator::endConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3397 of file htmlgen.cpp.

3398{
3399 m_t << "</td></tr>\n";
3400}

References OutputGenerator::m_t.

◆ endConstraintList()

void HtmlGenerator::endConstraintList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3402 of file htmlgen.cpp.

3403{
3404 m_t << "</table>\n";
3405 m_t << "</dd>\n";
3406 m_t << "</dl>\n";
3407 m_t << "</div>\n";
3408}

References OutputGenerator::m_t.

◆ endConstraintParam()

void HtmlGenerator::endConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3377 of file htmlgen.cpp.

3378{
3379 m_t << "</em></td>";
3380}

References OutputGenerator::m_t.

◆ endConstraintType()

void HtmlGenerator::endConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3387 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ endContents()

void HtmlGenerator::endContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3139 of file htmlgen.cpp.

3140{
3141 m_t << "</div><!-- contents -->\n";
3142}

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

2657{
2658 m_t << "</table>\n";
2659}

References OutputGenerator::m_t.

◆ endDescTableData()

void HtmlGenerator::endDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2696 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ endDescTableInit()

void HtmlGenerator::endDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2686 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ endDescTableRow()

void HtmlGenerator::endDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2666 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ endDescTableTitle()

void HtmlGenerator::endDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2676 of file htmlgen.cpp.

2677{
2678 m_t << "&#160;</td>";
2679}

References OutputGenerator::m_t.

◆ endDirDepGraph()

void HtmlGenerator::endDirDepGraph ( DotDirDeps & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2580 of file htmlgen.cpp.

2581{
2586
2588
2591}
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 2492 of file htmlgen.cpp.

2493{
2494 bool generateLegend = Config_getBool(GENERATE_LEGEND);
2495 bool umlLook = Config_getBool(UML_LOOK);
2500
2502 if (generateLegend && !umlLook)
2503 {
2504 QCString url = m_relPath+"graph_legend"+Doxygen::htmlFileExtension;
2505 m_t << "<center><span class=\"legend\">[";
2506 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
2507 m_t << "<a ";
2508 if (generateTreeView) m_t << "target=\"top\" ";
2509 m_t << "href=\"";
2510 if (!url.isEmpty()) m_t << url;
2511 m_t << "\">";
2513 m_t << "</a>";
2514 m_t << "]</span></center>";
2515 }
2516
2519}
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:121
bool isEmpty() const
Returns TRUE iff the string is empty.
Definition qcstring.h:163
virtual QCString trLegend()=0
#define Config_getBool(name)
Definition config.h:33
Translator * theTranslator
Definition language.cpp:71

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

◆ endDoxyAnchor()

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

Implements OutputGenIntf.

Definition at line 1741 of file htmlgen.cpp.

1742{
1743}

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

2709{
2710 m_t << "</dl>\n";
2711}

References OutputGenerator::m_t.

◆ endFile()

void HtmlGenerator::endFile ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1648 of file htmlgen.cpp.

1649{
1650 endPlainFile();
1651}
void endPlainFile() override
Definition htmlgen.h:334

References endPlainFile().

◆ endGroupCollaboration()

void HtmlGenerator::endGroupCollaboration ( DotGroupCollaboration & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2544 of file htmlgen.cpp.

2545{
2550
2552
2555}
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 1894 of file htmlgen.cpp.

1895{
1896 if (extraIndentLevel==2)
1897 {
1898 m_t << "</h4>\n";
1899 }
1900 else if (extraIndentLevel==1)
1901 {
1902 m_t << "</h3>\n";
1903 }
1904 else
1905 {
1906 m_t << "</h2>\n";
1907 }
1908}

References OutputGenerator::m_t.

◆ endHeaderSection()

void HtmlGenerator::endHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3439 of file htmlgen.cpp.

3440{
3441 m_t << "</div><!--header-->\n";
3442}

References OutputGenerator::m_t.

◆ endInclDepGraph()

void HtmlGenerator::endInclDepGraph ( DotInclDepGraph & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2526 of file htmlgen.cpp.

2527{
2532
2534
2537}
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 2633 of file htmlgen.cpp.

2634{
2635 DBG_HTML(m_t << "<!-- endIndent -->\n";)
2636 m_t << "\n</div>\n" << "</div>\n";
2637}
#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 1807 of file htmlgen.cpp.

1808{
1809 //printf("HtmlGenerator::endIndexItem(%s,%s,%s)\n",ref,f,name);
1810 if (!ref.isEmpty() || !f.isEmpty())
1811 {
1812 m_t << "</a>";
1813 }
1814 else
1815 {
1816 m_t << "</b>";
1817 }
1818}

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

◆ endIndexKey()

void HtmlGenerator::endIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2296 of file htmlgen.cpp.

2297{
2298 //m_t << "</td>";
2299}

◆ endIndexList()

void HtmlGenerator::endIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2286 of file htmlgen.cpp.

2287{
2288 m_t << "</table>\n";
2289}

References OutputGenerator::m_t.

◆ endIndexListItem()

void HtmlGenerator::endIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1772 of file htmlgen.cpp.

1773{
1774 m_t << "</li>\n";
1775}

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

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

◆ endInlineHeader()

void HtmlGenerator::endInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3454 of file htmlgen.cpp.

3455{
3456 m_t << "</h3></td></tr>\n";
3457}

References OutputGenerator::m_t.

◆ endInlineMemberDoc()

void HtmlGenerator::endInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3504 of file htmlgen.cpp.

3505{
3506 DBG_HTML(m_t << "<!-- endInlineMemberDoc -->\n";)
3507 m_t << "</td></tr>\n";
3508}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberName()

void HtmlGenerator::endInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3492 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberType()

void HtmlGenerator::endInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3480 of file htmlgen.cpp.

3481{
3482 DBG_HTML(m_t << "<!-- endInlineMemberType -->\n";)
3483 m_t << "</td>\n";
3484}

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

3557{
3558 DBG_HTML(m_t << "<!-- endLabels -->\n";)
3559 m_t << "</span>";
3560}

References DBG_HTML, and OutputGenerator::m_t.

◆ endLocalToc()

void HtmlGenerator::endLocalToc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3651 of file htmlgen.cpp.

3652{
3653 if (m_tocState.level > m_tocState.maxLevel) m_tocState.level = m_tocState.maxLevel;
3654 while (m_tocState.level>0)
3655 {
3656 m_tocState.decIndent(m_t,"</li>");
3657 m_tocState.decIndent(m_t,"</ul>");
3658 m_tocState.level--;
3659 }
3660 m_t << "</div>\n";
3661}
TocState m_tocState
Definition htmlgen.h:361

References OutputGenerator::m_t, and m_tocState.

◆ endMemberDeclaration()

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

Implements OutputGenIntf.

Definition at line 3631 of file htmlgen.cpp.

3632{
3633}

◆ endMemberDescription()

void HtmlGenerator::endMemberDescription ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2210 of file htmlgen.cpp.

2211{
2212 DBG_HTML(m_t << "<!-- endMemberDescription -->\n")
2213 m_t << "<br /></td></tr>\n";
2214}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDoc()

void HtmlGenerator::endMemberDoc ( bool hasArgs)
overridevirtual

Implements OutputGenIntf.

Definition at line 2476 of file htmlgen.cpp.

2477{
2478 DBG_HTML(m_t << "<!-- endMemberDoc -->\n";)
2479 if (!hasArgs)
2480 {
2481 m_t << " </tr>\n";
2482 }
2483 m_t << " </table>\n";
2484 // m_t << "</div>\n";
2485}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocList()

void HtmlGenerator::endMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2316 of file htmlgen.cpp.

2317{
2318 DBG_HTML(m_t << "<!-- endMemberDocList -->\n";)
2319}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocName()

void HtmlGenerator::endMemberDocName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2360 of file htmlgen.cpp.

2361{
2362 DBG_HTML(m_t << "<!-- endMemberDocName -->\n";)
2363 m_t << "</td>\n";
2364}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocPrefixItem()

void HtmlGenerator::endMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2344 of file htmlgen.cpp.

2345{
2346 DBG_HTML(m_t << "<!-- endMemberDocPrefixItem -->\n";)
2347 m_t << "</div>\n";
2348}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocSimple()

void HtmlGenerator::endMemberDocSimple ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 3468 of file htmlgen.cpp.

3469{
3470 DBG_HTML(m_t << "<!-- endMemberDocSimple -->\n";)
3471 m_t << "</table>\n";
3472}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberGroup()

void HtmlGenerator::endMemberGroup ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2622 of file htmlgen.cpp.

2623{
2624}

◆ endMemberGroupDocs()

void HtmlGenerator::endMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2613 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ endMemberGroupHeader()

void HtmlGenerator::endMemberGroupHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2603 of file htmlgen.cpp.

2604{
2605 m_t << "</div></td></tr>\n";
2606}

References OutputGenerator::m_t.

◆ endMemberHeader()

void HtmlGenerator::endMemberHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2258 of file htmlgen.cpp.

2259{
2260 DBG_HTML(m_t << "<!-- endMemberHeader -->\n")
2261 m_t << "</h2></td></tr>\n";
2262}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberItem()

void HtmlGenerator::endMemberItem ( MemberItemType type)
overridevirtual

Implements OutputGenIntf.

Definition at line 2139 of file htmlgen.cpp.

2140{
2142 {
2143 insertMemberAlign(false);
2144 }
2145 m_t << "</td></tr>\n";
2146}
OutputType type() const override
Definition htmlgen.h:121
void insertMemberAlign(bool) override
Definition htmlgen.cpp:2173

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

◆ endMemberList()

void HtmlGenerator::endMemberList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2108 of file htmlgen.cpp.

2109{
2110 DBG_HTML(m_t << "<!-- endMemberList -->\n")
2111}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberSections()

void HtmlGenerator::endMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2224 of file htmlgen.cpp.

2225{
2226 DBG_HTML(m_t << "<!-- endMemberSections -->\n")
2227 if (!m_emptySection)
2228 {
2229 m_t << "</table>\n";
2230 }
2231}

References DBG_HTML, m_emptySection, and OutputGenerator::m_t.

◆ endMemberSubtitle()

void HtmlGenerator::endMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2275 of file htmlgen.cpp.

2276{
2277 DBG_HTML(m_t << "<!-- endMemberSubtitle -->\n")
2278 m_t << "</td></tr>\n";
2279}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberTemplateParams()

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

Implements OutputGenIntf.

Definition at line 2152 of file htmlgen.cpp.

2153{
2154 m_t << "</td></tr>\n";
2155 m_t << "<tr class=\"memitem:" << convertToId(anchor);
2156 if (!inheritId.isEmpty())
2157 {
2158 m_t << " inherit " << inheritId;
2159 }
2160 m_t << " template\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">";
2161}

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

◆ endPageDoc()

void HtmlGenerator::endPageDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3149 of file htmlgen.cpp.

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

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

1758{
1759 m_t << "</p>\n";
1760}

References OutputGenerator::m_t.

◆ endParameterDefVal()

void HtmlGenerator::endParameterDefVal ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2445 of file htmlgen.cpp.

2446{
2447 m_t << "</span>";
2448}

References OutputGenerator::m_t.

◆ endParameterExtra()

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

Implements OutputGenIntf.

Definition at line 2414 of file htmlgen.cpp.

2415{
2416 DBG_HTML(m_t << "<!-- endParameterExtra -->\n";)
2417 if (last)
2418 {
2419 if (emptyList)
2420 {
2421 if (closeBracket) m_t << "</td><td>)";
2422 m_t << "</td>\n";
2423 m_t << " <td>";
2424 }
2425 else
2426 {
2427 m_t << "&#160;";
2428 if (closeBracket) m_t << ")";
2429 }
2430 }
2431 else
2432 {
2433 m_t << "</td>\n";
2434 m_t << " </tr>\n";
2435 }
2436}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterList()

void HtmlGenerator::endParameterList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2450 of file htmlgen.cpp.

2451{
2452 DBG_HTML(m_t << "<!-- endParameterList -->\n";)
2453 m_t << "</td>\n";
2454 m_t << " </tr>\n";
2455}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterName()

void HtmlGenerator::endParameterName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2403 of file htmlgen.cpp.

2404{
2405 DBG_HTML(m_t << "<!-- endParameterName -->\n";)
2406 m_t << "</em></span>";
2407}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterType()

void HtmlGenerator::endParameterType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2391 of file htmlgen.cpp.

2392{
2393 DBG_HTML(m_t << "<!-- endParameterType -->\n";)
2394 m_t << "</td>";
2395}

References DBG_HTML, and OutputGenerator::m_t.

◆ endPlainFile()

void HtmlGenerator::endPlainFile ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 334 of file htmlgen.h.

References OutputGenerator::endPlainFile().

Referenced by endFile(), and writeStyleInfo().

◆ endProjectNumber()

void HtmlGenerator::endProjectNumber ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1658 of file htmlgen.cpp.

1659{
1660 m_t << "</h3>";
1661}

References OutputGenerator::m_t.

◆ endQuickIndices()

void HtmlGenerator::endQuickIndices ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3079 of file htmlgen.cpp.

3080{
3081 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3082 m_t << "</div><!-- top -->\n";
3083 if (!generateTreeView)
3084 {
3085 m_t << "<div id=\"doc-content\">\n";
3086 }
3087}

References Config_getBool, and OutputGenerator::m_t.

◆ endSection()

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

Implements OutputGenIntf.

Definition at line 1926 of file htmlgen.cpp.

1927{
1928 switch(type.level())
1929 {
1930 case SectionType::Page: m_t << "</h1>"; break;
1931 case SectionType::Section: m_t << "</h2>"; break;
1932 case SectionType::Subsection: m_t << "</h3>"; break;
1933 case SectionType::Subsubsection: m_t << "</h4>"; break;
1934 case SectionType::Paragraph: m_t << "</h5>"; break;
1935 case SectionType::Subparagraph: m_t << "</h6>"; break;
1936 case SectionType::Subsubparagraph: m_t << "</h6>"; break;
1937 default: ASSERT(0); break;
1938 }
1939}
static constexpr int Section
Definition section.h:33
static constexpr int Subsection
Definition section.h:34
static constexpr int Subsubsection
Definition section.h:35
static constexpr int Page
Definition section.h:31
static constexpr int Paragraph
Definition section.h:36
static constexpr int Subsubparagraph
Definition section.h:38
static constexpr int Subparagraph
Definition section.h:37
#define ASSERT(x)
Definition qcstring.h:39

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

◆ endSmall()

void HtmlGenerator::endSmall ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 236 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endTextBlock()

void HtmlGenerator::endTextBlock ( bool )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 287 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endTextLink()

void HtmlGenerator::endTextLink ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1868 of file htmlgen.cpp.

1869{
1870 m_t << "</a>";
1871}

References OutputGenerator::m_t.

◆ endTitle()

void HtmlGenerator::endTitle ( )
inlineprivate

Definition at line 338 of file htmlgen.h.

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

References OutputGenerator::m_t.

Referenced by endTitleHead().

◆ endTitleHead()

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

Implements OutputGenIntf.

Definition at line 3433 of file htmlgen.cpp.

3434{
3435 endTitle();
3436 m_t << "</div>\n";
3437}
void endTitle()
Definition htmlgen.h:338

References endTitle(), and OutputGenerator::m_t.

◆ endTocEntry()

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

Implements OutputGenIntf.

Definition at line 3707 of file htmlgen.cpp.

3708{
3709 SectionType type = si->type();
3710 int nextLevel = type.level();
3711 if (type.isSection() && nextLevel<=m_tocState.maxLevel)
3712 {
3713 m_t << "</a>\n";
3714 m_tocState.inLi[nextLevel]=true;
3715 m_tocState.level = nextLevel;
3716 }
3717}
SectionType type() const
Definition section.h:70

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

◆ endTypewriter()

void HtmlGenerator::endTypewriter ( )
inlineoverridevirtual

Implements OutputGenIntf.

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

2458{
2459 DBG_HTML(m_t << "<!-- exceptionEntry -->\n";)
2460 if (!closeBracket)
2461 {
2462 m_t << "</td>\n";
2463 m_t << " </tr>\n";
2464 m_t << " <tr>\n";
2465 m_t << " <td align=\"right\">";
2466 }
2467 // colspan 2 so it gets both parameter type and parameter name columns
2468 if (!prefix.isEmpty())
2469 m_t << prefix << "</td><td>(</td><td colspan=\"2\">";
2470 else if (closeBracket)
2471 m_t << "&#160;)</td><td></td><td></td><td>";
2472 else
2473 m_t << "</td><td></td><td colspan=\"2\">";
2474}
constexpr auto prefix
Definition anchor.cpp:44

References DBG_HTML, OutputGenerator::m_t, and prefix.

◆ getNavTreeCss()

QCString HtmlGenerator::getNavTreeCss ( )
static

Definition at line 3635 of file htmlgen.cpp.

3636{
3637 ResourceMgr &mgr = ResourceMgr::instance();
3638 return replaceVariables(mgr.getAsString("navtree.css"));
3639}
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:696

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

Referenced by init().

◆ init()

void HtmlGenerator::init ( )
static

Definition at line 1193 of file htmlgen.cpp.

1194{
1195 QCString dname = Config_getString(HTML_OUTPUT);
1196 Dir d(dname.str());
1197 if (!d.exists() && !d.mkdir(dname.str()))
1198 {
1199 term("Could not create output directory {}\n",dname);
1200 }
1201 //writeLogo(dname);
1202 if (!Config_getString(HTML_HEADER).isEmpty())
1203 {
1204 g_header_file=Config_getString(HTML_HEADER);
1207 //printf("g_header='%s'\n",qPrint(g_header));
1208 QCString result = substituteHtmlKeywords(g_header_file,g_header,QCString(),QCString());
1209 checkBlocks(result,Config_getString(HTML_HEADER),htmlMarkerInfo);
1210 }
1211 else
1212 {
1213 g_header_file="header.html";
1216 QCString result = substituteHtmlKeywords(g_header_file,g_header,QCString(),QCString());
1217 checkBlocks(result,"<default header.html>",htmlMarkerInfo);
1218 }
1219
1220 if (!Config_getString(HTML_FOOTER).isEmpty())
1221 {
1222 g_footer_file=Config_getString(HTML_FOOTER);
1225 //printf("g_footer='%s'\n",qPrint(g_footer));
1226 QCString result = substituteHtmlKeywords(g_footer_file,g_footer,QCString(),QCString());
1227 checkBlocks(result,Config_getString(HTML_FOOTER),htmlMarkerInfo);
1228 }
1229 else
1230 {
1231 g_footer_file = "footer.html";
1234 QCString result = substituteHtmlKeywords(g_footer_file,g_footer,QCString(),QCString());
1235 checkBlocks(result,"<default footer.html>",htmlMarkerInfo);
1236 }
1237
1238 if (Config_getBool(USE_MATHJAX))
1239 {
1240 if (!Config_getString(MATHJAX_CODEFILE).isEmpty())
1241 {
1242 g_mathjax_code=fileToString(Config_getString(MATHJAX_CODEFILE));
1243 //printf("g_mathjax_code='%s'\n",qPrint(g_mathjax_code));
1244 }
1246 //printf("converted g_latex_macro='%s'\n",qPrint(g_latex_macro));
1247 }
1248 createSubDirs(d);
1249
1251
1252 ResourceMgr &mgr = ResourceMgr::instance();
1253
1254 {
1255 QCString tabsCss;
1256 if (Config_getBool(HTML_DYNAMIC_MENUS))
1257 {
1258 tabsCss = mgr.getAsString("tabs.css");
1259 }
1260 else // stylesheet for the 'old' static tabs
1261 {
1262 tabsCss = mgr.getAsString("fixed_tabs.css");
1263 }
1264
1265 std::ofstream f = Portable::openOutputStream(dname+"/tabs.css");
1266 if (f.is_open())
1267 {
1268 TextStream t(&f);
1269 t << replaceVariables(tabsCss);
1270 }
1271 }
1272
1273
1274 mgr.copyResource("jquery.js",dname);
1275 if (Config_getBool(INTERACTIVE_SVG))
1276 {
1277 mgr.copyResource("svg.min.js",dname);
1278 }
1279
1280 if (!Config_getBool(DISABLE_INDEX) && Config_getBool(HTML_DYNAMIC_MENUS))
1281 {
1282 mgr.copyResource("menu.js",dname);
1283 }
1284
1285 // copy navtree.css
1286 {
1287 std::ofstream f = Portable::openOutputStream(dname+"/navtree.css");
1288 if (f.is_open())
1289 {
1290 TextStream t(&f);
1291 t << getNavTreeCss();
1292 }
1293 }
1294
1295 if (Config_getBool(HTML_COPY_CLIPBOARD))
1296 {
1297 std::ofstream f = Portable::openOutputStream(dname+"/clipboard.js");
1298 if (f.is_open())
1299 {
1300 TextStream t(&f);
1301 t << substitute(mgr.getAsString("clipboard.js"),"$copy_to_clipboard_text",theTranslator->trCopyToClipboard());
1302 }
1303 }
1304
1305 bool hasCookie = Config_getBool(GENERATE_TREEVIEW) || Config_getBool(SEARCHENGINE) || Config_getEnum(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE;
1306 if (hasCookie)
1307 {
1308 mgr.copyResource("cookie.js",dname);
1309 }
1310
1311 if (Config_getBool(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE)
1312 {
1313 std::ofstream f = Portable::openOutputStream(dname+"/darkmode_toggle.js");
1314 if (f.is_open())
1315 {
1316 TextStream t(&f);
1317 t << substitute(replaceColorMarkers(mgr.getAsString("darkmode_toggle.js")),
1318 "$PROJECTID",getProjectId());
1319 }
1320 }
1321
1322 {
1323 std::ofstream f = Portable::openOutputStream(dname+"/dynsections.js");
1324 if (f.is_open())
1325 {
1326 TextStream t(&f);
1327 t << replaceVariables(mgr.getAsString("dynsections.js"));
1328 if (Config_getBool(SOURCE_BROWSER) && Config_getBool(SOURCE_TOOLTIPS))
1329 {
1330 t << replaceVariables(mgr.getAsString("dynsections_tooltips.js"));
1331 }
1332 }
1333 }
1334}
static QCString getNavTreeCss()
Definition htmlgen.cpp:3635
bool copyResource(const QCString &name, const QCString &targetDir) const
Copies a registered resource to a given target directory.
virtual QCString trCopyToClipboard()=0
#define Config_getEnum(name)
Definition config.h:35
static bool g_build_date
Definition htmlgen.cpp:69
static QCString g_header
Definition htmlgen.cpp:63
static QCString g_header_file
Definition htmlgen.cpp:64
static QCString g_mathjax_code
Definition htmlgen.cpp:67
static QCString g_footer
Definition htmlgen.cpp:66
static const SelectionMarkerInfo htmlMarkerInfo
Definition htmlgen.cpp:72
static QCString getConvertLatexMacro()
Convert a set of LaTeX commands \‍(re)newcommand to a form readable by MathJax LaTeX syntax:
Definition htmlgen.cpp:149
static QCString g_footer_file
Definition htmlgen.cpp:65
static bool hasDateReplacement(const QCString &str)
Definition htmlgen.cpp:1184
static QCString g_latex_macro
Definition htmlgen.cpp:68
static void fillColorStyleMaps()
Definition htmlgen.cpp:682
static QCString substituteHtmlKeywords(const QCString &file, const QCString &str, const QCString &title, const QCString &relPath, const QCString &navPath=QCString(), bool isSource=false)
Definition htmlgen.cpp:314
#define term(fmt,...)
Definition message.h:137
std::ofstream openOutputStream(const QCString &name, bool append=false)
Definition portable.cpp:649
QCString substitute(const QCString &s, const QCString &src, const QCString &dst)
substitute all occurrences of src in s by dst
Definition qcstring.cpp:571
void checkBlocks(const QCString &s, const QCString fileName, const SelectionMarkerInfo &markerInfo)
Definition util.cpp:6472
QCString fileToString(const QCString &name, bool filter, bool isSourceCode)
Definition util.cpp:1438
void createSubDirs(const Dir &d)
Definition util.cpp:3582
QCString getProjectId()
Definition util.cpp:6761
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:5758

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

Referenced by generateOutput().

◆ insertMemberAlign()

void HtmlGenerator::insertMemberAlign ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2173 of file htmlgen.cpp.

2174{
2175 DBG_HTML(m_t << "<!-- insertMemberAlign -->\n")
2176 m_t << "&#160;</td><td class=\"memItemRight\" valign=\"bottom\">";
2177}

References DBG_HTML, and OutputGenerator::m_t.

Referenced by endMemberItem().

◆ insertMemberAlignLeft()

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

Implements OutputGenIntf.

Definition at line 2179 of file htmlgen.cpp.

2180{
2181 if (!initTag) m_t << "&#160;</td>";
2182 switch (type)
2183 {
2184 case MemberItemType::Normal: m_t << "<td class=\"memItemLeft\" align=\"right\" valign=\"top\">"; break;
2185 case MemberItemType::AnonymousStart: m_t << "<td class=\"memItemLeft anon\">"; break;
2186 case MemberItemType::AnonymousEnd: m_t << "<td class=\"memItemLeft anonEnd\" valign=\"top\">"; break;
2187 case MemberItemType::Templated: m_t << "<td class=\"memTemplParams\" colspan=\"2\">"; break;
2188 }
2189}

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

Referenced by startMemberItem().

◆ lastIndexPage()

void HtmlGenerator::lastIndexPage ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 288 of file htmlgen.h.

288{}

◆ lineBreak()

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

Implements OutputGenIntf.

Definition at line 3410 of file htmlgen.cpp.

3411{
3412 if (!style.isEmpty())
3413 {
3414 m_t << "<br class=\"" << style << "\" />\n";
3415 }
3416 else
3417 {
3418 m_t << "<br />\n";
3419 }
3420}

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

◆ operator=() [1/2]

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

Definition at line 1159 of file htmlgen.cpp.

1160{
1161 //printf("%p:HtmlGenerator(copy assign %p)\n",(void*)this,(void*)&og);
1162 if (this!=&og)
1163 {
1164 m_dir = og.m_dir;
1165 m_codeList = std::make_unique<OutputCodeList>(*og.m_codeList);
1166 m_codeGen = m_codeList->get<HtmlCodeGenerator>(OutputType::Html);
1167 m_codeGen->setTextStream(&m_t);
1170 m_relPath = og.m_relPath;
1173 }
1174 return *this;
1175}

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

2558{
2560}
static void startSectionHeader(TextStream &t, const QCString &relPath, int sectionCount)
Definition htmlgen.cpp:1993

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

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

◆ startCompoundTemplateParams()

void HtmlGenerator::startCompoundTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2163 of file htmlgen.cpp.

2164{
2165 m_t << "<div class=\"compoundTemplParams\">";
2166}

References OutputGenerator::m_t.

◆ startConstraintDocs()

void HtmlGenerator::startConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3392 of file htmlgen.cpp.

3393{
3394 m_t << "<td>&#160;";
3395}

References OutputGenerator::m_t.

◆ startConstraintList()

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

Implements OutputGenIntf.

Definition at line 3365 of file htmlgen.cpp.

3366{
3367 m_t << "<div class=\"typeconstraint\">\n";
3368 m_t << "<dl><dt><b>" << header << "</b></dt><dd>\n";
3369 m_t << "<table border=\"0\" cellspacing=\"2\" cellpadding=\"0\">\n";
3370}

References OutputGenerator::m_t.

◆ startConstraintParam()

void HtmlGenerator::startConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3372 of file htmlgen.cpp.

3373{
3374 m_t << "<tr><td valign=\"top\"><em>";
3375}

References OutputGenerator::m_t.

◆ startConstraintType()

void HtmlGenerator::startConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3382 of file htmlgen.cpp.

3383{
3384 m_t << "<td>&#160;:</td><td valign=\"top\"><em>";
3385}

References OutputGenerator::m_t.

◆ startContents()

void HtmlGenerator::startContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3134 of file htmlgen.cpp.

3135{
3136 m_t << "<div class=\"contents\">\n";
3137}

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

2652{
2653 m_t << "<table class=\"fieldtable\">\n"
2654 << "<tr><th colspan=\"" << (hasInits?3:2) << "\">" << title << "</th></tr>";
2655}

References OutputGenerator::m_t.

◆ startDescTableData()

void HtmlGenerator::startDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2691 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ startDescTableInit()

void HtmlGenerator::startDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2681 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ startDescTableRow()

void HtmlGenerator::startDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2661 of file htmlgen.cpp.

2662{
2663 m_t << "<tr>";
2664}

References OutputGenerator::m_t.

◆ startDescTableTitle()

void HtmlGenerator::startDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2671 of file htmlgen.cpp.

2672{
2673 m_t << "<td class=\"fieldname\">";
2674}

References OutputGenerator::m_t.

◆ startDirDepGraph()

void HtmlGenerator::startDirDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2575 of file htmlgen.cpp.

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

◆ startDotGraph()

void HtmlGenerator::startDotGraph ( )
overridevirtual

Implements OutputGenIntf.

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

1737{
1738 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>";
1739}

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

2702{
2703 m_t << "<dl class=\"section examples\"><dt>";
2705 m_t << "</dt>";
2706}
void docify(const QCString &text) override
Definition htmlgen.cpp:1941
virtual QCString trExamples()=0

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

◆ startFile()

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

Implements OutputGenIntf.

Definition at line 1535 of file htmlgen.cpp.

1537{
1538 //printf("HtmlGenerator::startFile(%s)\n",qPrint(name));
1540 QCString fileName = name;
1542 m_lastTitle=title;
1543
1545 m_codeGen->setFileName(fileName);
1546 m_codeGen->setRelativePath(m_relPath);
1547 {
1548 std::lock_guard<std::mutex> lock(g_indexLock);
1550 }
1551
1554
1555 m_t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
1556 << getDoxygenVersion() << " -->\n";
1557 bool searchEngine = Config_getBool(SEARCHENGINE);
1558 if (searchEngine /*&& !generateTreeView*/)
1559 {
1560 m_t << "<script type=\"text/javascript\">\n";
1561 m_t << "var searchBox = new SearchBox(\"searchBox\", \""
1562 << m_relPath<< "search/\",'" << Doxygen::htmlFileExtension << "');\n";
1563 m_t << "</script>\n";
1564 }
1565 if (Config_getBool(HTML_CODE_FOLDING))
1566 {
1567 m_t << "<script type=\"text/javascript\">\n";
1568 m_t << "$(function() { codefold.init(); });\n";
1569 m_t << "</script>\n";
1570 }
1572}
static IndexList * indexList
Definition doxygen.h:133
void startPlainFile(const QCString &name) override
Definition htmlgen.h:333
void addIndexFile(const QCString &name)
Definition indexlist.h:120
virtual QCString trGeneratedBy()=0
static std::mutex g_indexLock
Definition htmlgen.cpp:1533
QCString convertToHtml(const QCString &s, bool keepEntities)
Definition util.cpp:3905
QCString relativePathToRoot(const QCString &name)
Definition util.cpp:3521
QCString filterTitle(const QCString &title)
Definition util.cpp:5566
void addHtmlExtensionIfMissing(QCString &fName)
Definition util.cpp:4863

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

◆ startGroupCollaboration()

void HtmlGenerator::startGroupCollaboration ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2539 of file htmlgen.cpp.

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

◆ startGroupHeader()

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

Implements OutputGenIntf.

Definition at line 1873 of file htmlgen.cpp.

1874{
1875 if (extraIndentLevel==2)
1876 {
1877 m_t << "<h4";
1878 }
1879 else if (extraIndentLevel==1)
1880 {
1881 m_t << "<h3";
1882 }
1883 else // extraIndentLevel==0
1884 {
1885 m_t << "<h2";
1886 }
1887 if (!id.isEmpty())
1888 {
1889 m_t <<" id=\"header-"+convertToId(id)+"\"";
1890 }
1891 m_t << " class=\"groupheader\">";
1892}

References convertToId(), and OutputGenerator::m_t.

◆ startHeaderSection()

void HtmlGenerator::startHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3422 of file htmlgen.cpp.

3423{
3424 m_t << "<div class=\"header\">\n";
3425}

References OutputGenerator::m_t.

◆ startInclDepGraph()

void HtmlGenerator::startInclDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2521 of file htmlgen.cpp.

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

◆ startIndent()

void HtmlGenerator::startIndent ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2626 of file htmlgen.cpp.

2627{
2628 DBG_HTML(m_t << "<!-- startIndent -->\n";)
2629
2630 m_t << "<div class=\"memdoc\">\n";
2631}

References DBG_HTML, and OutputGenerator::m_t.

◆ startIndexItem()

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

Implements OutputGenIntf.

Definition at line 1777 of file htmlgen.cpp.

1778{
1779 //printf("HtmlGenerator::startIndexItem(%s,%s)\n",ref,f);
1780 if (!ref.isEmpty() || !f.isEmpty())
1781 {
1782 if (!ref.isEmpty())
1783 {
1784 m_t << "<a class=\"elRef\" ";
1786 }
1787 else
1788 {
1789 m_t << "<a class=\"el\" ";
1790 }
1791 m_t << "href=\"";
1792 m_t << externalRef(m_relPath,ref,TRUE);
1793 if (!f.isEmpty())
1794 {
1795 QCString fn=f;
1797 m_t << fn;
1798 }
1799 m_t << "\">";
1800 }
1801 else
1802 {
1803 m_t << "<b>";
1804 }
1805}
QCString externalRef(const QCString &relPath, const QCString &ref, bool href)
Definition util.cpp:5705
QCString externalLinkTarget(const bool parent)
Definition util.cpp:5661

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

◆ startIndexKey()

void HtmlGenerator::startIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2291 of file htmlgen.cpp.

2292{
2293 //m_t << " <tr><td class=\"indexkey\">";
2294}

◆ startIndexList()

void HtmlGenerator::startIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2281 of file htmlgen.cpp.

2282{
2283 m_t << "<table>\n";
2284}

References OutputGenerator::m_t.

◆ startIndexListItem()

void HtmlGenerator::startIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1767 of file htmlgen.cpp.

1768{
1769 m_t << "<li>";
1770}

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

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

◆ startInlineHeader()

void HtmlGenerator::startInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3444 of file htmlgen.cpp.

3445{
3446 if (m_emptySection)
3447 {
3448 m_t << "<table class=\"memberdecls\">\n";
3450 }
3451 m_t << "<tr><td colspan=\"2\"><h3>";
3452}

References FALSE, m_emptySection, and OutputGenerator::m_t.

◆ startInlineMemberDoc()

void HtmlGenerator::startInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3498 of file htmlgen.cpp.

3499{
3500 DBG_HTML(m_t << "<!-- startInlineMemberDoc -->\n";)
3501 m_t << "<td class=\"fielddoc\">\n";
3502}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberName()

void HtmlGenerator::startInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3486 of file htmlgen.cpp.

3487{
3488 DBG_HTML(m_t << "<!-- startInlineMemberName -->\n";)
3489 m_t << "<td class=\"fieldname\">\n";
3490}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberType()

void HtmlGenerator::startInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3474 of file htmlgen.cpp.

3475{
3476 DBG_HTML(m_t << "<!-- startInlineMemberType -->\n";)
3477 m_t << "<tr><td class=\"fieldtype\">\n";
3478}

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

3511{
3512 DBG_HTML(m_t << "<!-- startLabels -->\n";)
3513 m_t << "<span class=\"mlabels\">";
3514}

References DBG_HTML, and OutputGenerator::m_t.

◆ startLocalToc()

void HtmlGenerator::startLocalToc ( int level)
overridevirtual

Implements OutputGenIntf.

Definition at line 3641 of file htmlgen.cpp.

3642{
3643 m_tocState.level=0;
3644 m_tocState.indent=0;
3645 m_tocState.maxLevel=level;
3646 m_tocState.inLi = BoolVector(level+1,false);
3647 m_t << "<div class=\"toc\">";
3648 m_t << "<h3>" << theTranslator->trRTFTableOfContents() << "</h3>\n";
3649}
virtual QCString trRTFTableOfContents()=0
std::vector< bool > BoolVector
Definition containers.h:36

References OutputGenerator::m_t, m_tocState, and theTranslator.

◆ startMemberDeclaration()

void HtmlGenerator::startMemberDeclaration ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 204 of file htmlgen.h.

204{}

◆ startMemberDescription()

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

Implements OutputGenIntf.

Definition at line 2191 of file htmlgen.cpp.

2192{
2193 DBG_HTML(m_t << "<!-- startMemberDescription -->\n")
2194 if (m_emptySection)
2195 {
2196 m_t << "<table class=\"memberdecls\">\n";
2198 }
2199 m_t << "<tr class=\"memdesc:" << anchor;
2200 if (!inheritId.isEmpty())
2201 {
2202 m_t << " inherit " << inheritId;
2203 }
2204 m_t << "\">";
2205 m_t << "<td class=\"mdescLeft\">&#160;</td>";
2206 if (typ) m_t << "<td class=\"mdescLeft\">&#160;</td>";
2207 m_t << "<td class=\"mdescRight\">";
2208}

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

2324{
2325 DBG_HTML(m_t << "<!-- startMemberDoc -->\n";)
2326 m_t << "\n<h2 class=\"memtitle\">"
2327 << "<span class=\"permalink\"><a href=\"#" << anchor << "\">&#9670;&#160;</a></span>";
2328 docify(title);
2329 if (memTotal>1)
2330 {
2331 m_t << " <span class=\"overload\">[" << memCount << "/" << memTotal <<"]</span>";
2332 }
2333 m_t << "</h2>\n";
2334 m_t << "\n<div class=\"memitem\">\n";
2335 m_t << "<div class=\"memproto\">\n";
2336}

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

◆ startMemberDocList()

void HtmlGenerator::startMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2311 of file htmlgen.cpp.

2312{
2313 DBG_HTML(m_t << "<!-- startMemberDocList -->\n";)
2314}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocName()

void HtmlGenerator::startMemberDocName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2350 of file htmlgen.cpp.

2351{
2352 DBG_HTML(m_t << "<!-- startMemberDocName -->\n";)
2353
2354 m_t << " <table class=\"memname\">\n";
2355
2356 m_t << " <tr>\n";
2357 m_t << " <td class=\"memname\">";
2358}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocPrefixItem()

void HtmlGenerator::startMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2338 of file htmlgen.cpp.

2339{
2340 DBG_HTML(m_t << "<!-- startMemberDocPrefixItem -->\n";)
2341 m_t << "<div class=\"memtemplate\">\n";
2342}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocSimple()

void HtmlGenerator::startMemberDocSimple ( bool isEnum)
overridevirtual

Implements OutputGenIntf.

Definition at line 3459 of file htmlgen.cpp.

3460{
3461 DBG_HTML(m_t << "<!-- startMemberDocSimple -->\n";)
3462 m_t << "<table class=\"fieldtable\">\n";
3463 m_t << "<tr><th colspan=\"" << (isEnum?"2":"3") << "\">";
3464 m_t << (isEnum? theTranslator->trEnumerationValues() :
3465 theTranslator->trCompoundMembers()) << "</th></tr>\n";
3466}
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 2618 of file htmlgen.cpp.

2619{
2620}

◆ startMemberGroupDocs()

void HtmlGenerator::startMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2608 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ startMemberGroupHeader()

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

Implements OutputGenIntf.

Definition at line 2598 of file htmlgen.cpp.

2599{
2600 m_t << "<tr id=\"" << id << "\" class=\"groupHeader\"><td colspan=\"2\"><div class=\"groupHeader\">";
2601}

References OutputGenerator::m_t.

◆ startMemberHeader()

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

Implements OutputGenIntf.

Definition at line 2233 of file htmlgen.cpp.

2234{
2235 DBG_HTML(m_t << "<!-- startMemberHeader -->\n")
2236 if (!m_emptySection)
2237 {
2238 m_t << "</table>";
2240 }
2241 if (m_emptySection)
2242 {
2243 m_t << "<table class=\"memberdecls\">\n";
2245 }
2246 m_t << "<tr class=\"heading\"><td colspan=\"" << typ << "\"><h2";
2247 if (!anchor.isEmpty())
2248 {
2249 m_t << " id=\"header-" << anchor << "\"";
2250 }
2251 m_t << " class=\"groupheader\">";
2252 if (!anchor.isEmpty())
2253 {
2254 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>\n";
2255 }
2256}

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

2118{
2119 DBG_HTML(m_t << "<!-- startMemberItem() -->\n")
2120 if (m_emptySection)
2121 {
2122 m_t << "<table class=\"memberdecls\">\n";
2124 }
2125 m_t << "<tr class=\"memitem:" << convertToId(anchor);
2126 if (!inheritId.isEmpty())
2127 {
2128 m_t << " inherit " << inheritId;
2129 }
2130 m_t << "\"";
2131 if (!anchor.isEmpty())
2132 {
2133 m_t << " id=\"r_" << convertToId(anchor) << "\"";
2134 }
2135 m_t << ">";
2137}
void insertMemberAlignLeft(MemberItemType, bool) override
Definition htmlgen.cpp:2179

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

◆ startMemberList()

void HtmlGenerator::startMemberList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2103 of file htmlgen.cpp.

2104{
2105 DBG_HTML(m_t << "<!-- startMemberList -->\n")
2106}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberSections()

void HtmlGenerator::startMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2216 of file htmlgen.cpp.

2217{
2218 DBG_HTML(m_t << "<!-- startMemberSections -->\n")
2219 m_emptySection=TRUE; // we postpone writing <table> until we actually
2220 // write a row to prevent empty tables, which
2221 // are not valid XHTML!
2222}

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

◆ startMemberSubtitle()

void HtmlGenerator::startMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2264 of file htmlgen.cpp.

2265{
2266 DBG_HTML(m_t << "<!-- startMemberSubtitle -->\n")
2267 if (m_emptySection)
2268 {
2269 m_t << "<table class=\"memberdecls\">\n";
2271 }
2272 m_t << "<tr><td class=\"ititle\" colspan=\"2\">";
2273}

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

◆ startMemberTemplateParams()

void HtmlGenerator::startMemberTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2148 of file htmlgen.cpp.

2149{
2150}

◆ startPageDoc()

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

Implements OutputGenIntf.

Definition at line 3144 of file htmlgen.cpp.

3145{
3146 m_t << "<div>";
3147}

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

1750{
1751 if (!classDef.isEmpty())
1752 m_t << "\n<p class=\"" << classDef << "\">";
1753 else
1754 m_t << "\n<p>";
1755}

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

◆ startParameterDefVal()

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

Implements OutputGenIntf.

Definition at line 2438 of file htmlgen.cpp.

2439{
2440 m_t << "<span class=\"paramdefsep\">";
2441 docify(s);
2442 m_t << "</span><span class=\"paramdefval\">";
2443}

References docify(), and OutputGenerator::m_t.

◆ startParameterExtra()

void HtmlGenerator::startParameterExtra ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2409 of file htmlgen.cpp.

2410{
2411 DBG_HTML(m_t << "<!-- startParameterExtra -->\n";)
2412}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterList()

void HtmlGenerator::startParameterList ( bool openBracket)
overridevirtual

Implements OutputGenIntf.

Definition at line 2366 of file htmlgen.cpp.

2367{
2368 DBG_HTML(m_t << "<!-- startParameterList -->\n";)
2369 m_t << " <td>";
2370 if (openBracket) m_t << "(";
2371 m_t << "</td>\n";
2372}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterName()

void HtmlGenerator::startParameterName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2397 of file htmlgen.cpp.

2398{
2399 DBG_HTML(m_t << "<!-- startParameterName -->\n";)
2400 m_t << " <td class=\"paramname\"><span class=\"paramname\"><em>";
2401}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterType()

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

Implements OutputGenIntf.

Definition at line 2374 of file htmlgen.cpp.

2375{
2376 if (first)
2377 {
2378 DBG_HTML(m_t << "<!-- startFirstParameterType -->\n";)
2379 m_t << " <td class=\"paramtype\">";
2380 }
2381 else
2382 {
2383 DBG_HTML(m_t << "<!-- startParameterType -->\n";)
2384 m_t << " <tr>\n";
2385 m_t << " <td class=\"paramkey\">" << key << "</td>\n";
2386 m_t << " <td></td>\n";
2387 m_t << " <td class=\"paramtype\">";
2388 }
2389}

References DBG_HTML, and OutputGenerator::m_t.

◆ startPlainFile()

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

Implements OutputGenIntf.

Definition at line 333 of file htmlgen.h.

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

References OutputGenerator::startPlainFile().

Referenced by startFile(), and writeStyleInfo().

◆ startProjectNumber()

void HtmlGenerator::startProjectNumber ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1653 of file htmlgen.cpp.

1654{
1655 m_t << "<h3 class=\"version\">";
1656}

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

1911{
1912 switch(type.level())
1913 {
1914 case SectionType::Page: m_t << "\n\n<h1 class=\"doxsection\">"; break;
1915 case SectionType::Section: m_t << "\n\n<h2 class=\"doxsection\">"; break;
1916 case SectionType::Subsection: m_t << "\n\n<h3 class=\"doxsection\">"; break;
1917 case SectionType::Subsubsection: m_t << "\n\n<h4 class=\"doxsection\">"; break;
1918 case SectionType::Paragraph: m_t << "\n\n<h5 class=\"doxsection\">"; break;
1919 case SectionType::Subparagraph: m_t << "\n\n<h6 class=\"doxsection\">"; break;
1920 case SectionType::Subsubparagraph: m_t << "\n\n<h6 class=\"doxsection\">"; break;
1921 default: ASSERT(0); break;
1922 }
1923 m_t << "<a id=\"" << lab << "\" name=\"" << lab << "\"></a>";
1924}

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

◆ startSmall()

void HtmlGenerator::startSmall ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 235 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startTextBlock()

void HtmlGenerator::startTextBlock ( bool )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 286 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startTextLink()

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

Implements OutputGenIntf.

Definition at line 1856 of file htmlgen.cpp.

1857{
1858 m_t << "<a href=\"";
1859 QCString fn = f;
1861 m_t << createHtmlUrl(m_relPath,"",true,
1862 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1863 fn,
1864 anchor);
1865 m_t << "\">";
1866}
QCString createHtmlUrl(const QCString &relPath, const QCString &ref, bool href, bool isLocalFile, const QCString &targetFileName, const QCString &anchor)
Definition util.cpp:5672

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

◆ startTitle()

void HtmlGenerator::startTitle ( )
inlineprivate

Definition at line 337 of file htmlgen.h.

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

References OutputGenerator::m_t.

Referenced by startTitleHead().

◆ startTitleHead()

void HtmlGenerator::startTitleHead ( const QCString & )
overridevirtual

Implements OutputGenIntf.

Definition at line 3427 of file htmlgen.cpp.

3428{
3429 m_t << " <div class=\"headertitle\">";
3430 startTitle();
3431}
void startTitle()
Definition htmlgen.h:337

References OutputGenerator::m_t, and startTitle().

◆ startTocEntry()

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

Implements OutputGenIntf.

Definition at line 3663 of file htmlgen.cpp.

3664{
3665 SectionType type = si->type();
3666 if (type.isSection())
3667 {
3668 //printf(" level=%d title=%s maxLevel=%d\n",level,qPrint(si->title()),maxLevel);
3669 int nextLevel = type.level();
3670 if (nextLevel>m_tocState.level)
3671 {
3672 for (int l=m_tocState.level;l<nextLevel;l++)
3673 {
3674 if (l < m_tocState.maxLevel)
3675 {
3676 m_tocState.incIndent(m_t,"<ul>");
3677 char cs[2] = { static_cast<char>('0'+l+1), 0 };
3678 const char *empty = (l!=nextLevel-1) ? " empty" : "";
3679 m_tocState.incIndent(m_t,"<li class=\"level" + QCString(cs) + empty + "\">");
3680 }
3681 }
3682 }
3683 else if (nextLevel<m_tocState.level)
3684 {
3685 for (int l=m_tocState.level;l>nextLevel;l--)
3686 {
3687 if (l <= m_tocState.maxLevel) m_tocState.decIndent(m_t,"</li>");
3688 m_tocState.inLi[l] = false;
3689 if (l <= m_tocState.maxLevel) m_tocState.decIndent(m_t,"</ul>");
3690 }
3691 }
3692 if (nextLevel <= m_tocState.maxLevel)
3693 {
3694 if (m_tocState.inLi[nextLevel] || m_tocState.level>nextLevel)
3695 {
3696 m_tocState.decIndent(m_t,"</li>");
3697 char cs[2] = { static_cast<char>('0'+nextLevel), 0 };
3698 m_tocState.incIndent(m_t,"<li class=\"level" + QCString(cs) + "\">");
3699 }
3700 QCString label = si->label();
3701 m_tocState.writeIndent(m_t);
3702 m_t << "<a href=\"#"+label+"\">";
3703 }
3704 }
3705}
QCString label() const
Definition section.h:68

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

◆ startTypewriter()

void HtmlGenerator::startTypewriter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 163 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ type()

OutputType HtmlGenerator::type ( ) const
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 121 of file htmlgen.h.

121{ return OutputType::Html; }

References Html.

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

◆ writeAnchor()

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

Implements OutputGenIntf.

Definition at line 211 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ writeChar()

void HtmlGenerator::writeChar ( char c)
overridevirtual

Implements OutputGenIntf.

Definition at line 1983 of file htmlgen.cpp.

1984{
1985 char cs[2];
1986 cs[0]=c;
1987 cs[1]=0;
1988 docify(cs);
1989}

References docify().

◆ writeDoc()

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

Implements OutputGenIntf.

Definition at line 2713 of file htmlgen.cpp.

2714{
2715 const DocNodeAST *astImpl = dynamic_cast<const DocNodeAST*>(ast);
2716 if (astImpl && sectionLevel<=m_tocState.maxLevel)
2717 {
2718 m_codeList->setId(id);
2719 HtmlDocVisitor visitor(m_t,*m_codeList,ctx,fileName());
2720 std::visit(visitor,astImpl->root);
2721 }
2722}
DocNodeVariant root
Definition docnode.h:1491

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

◆ writeExternalSearchPage()

void HtmlGenerator::writeExternalSearchPage ( )
static

Definition at line 3259 of file htmlgen.cpp.

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

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

Referenced by generateOutput().

◆ writeFooter()

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

Implements OutputGenIntf.

Definition at line 1643 of file htmlgen.cpp.

1644{
1646}

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

◆ writeFooterFile()

void HtmlGenerator::writeFooterFile ( TextStream & t)
static

Definition at line 1527 of file htmlgen.cpp.

1528{
1529 t << "<!-- HTML footer for doxygen " << getDoxygenVersion() << "-->\n";
1530 t << ResourceMgr::instance().getAsString("footer.html");
1531}

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

Referenced by readConfiguration().

◆ writeGraphicalHierarchy()

void HtmlGenerator::writeGraphicalHierarchy ( DotGfxHierarchyTable & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2593 of file htmlgen.cpp.

2594{
2595 g.writeGraph(m_t,dir(),fileName());
2596}
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 1521 of file htmlgen.cpp.

1522{
1523 t << "<!-- HTML header for doxygen " << getDoxygenVersion() << "-->\n";
1524 t << ResourceMgr::instance().getAsString("header.html");
1525}

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

3566{
3567 DBG_HTML(m_t << "<!-- writeInheritedSectionTitle -->\n";)
3568 QCString a = anchor;
3569 if (!a.isEmpty()) a.prepend("#");
3570 QCString classLink = QCString("<a class=\"el\" ");
3571 if (!ref.isEmpty())
3572 {
3573 classLink+= externalLinkTarget();
3574 classLink += " href=\"";
3575 classLink+= externalRef(m_relPath,ref,TRUE);
3576 }
3577 else
3578 {
3579 classLink += "href=\"";
3580 classLink+=m_relPath;
3581 }
3582 QCString fn = file;
3584 classLink=classLink+fn+a;
3585 classLink+=QCString("\">")+convertToHtml(name,FALSE)+"</a>";
3586 m_t << "<tr class=\"inherit_header " << id << "\">"
3587 << "<td colspan=\"2\" onclick=\"javascript:dynsection.toggleInherit('" << id << "')\">"
3588 << "<span class=\"dynarrow\"><span class=\"arrowhead closed\"></span></span>"
3589 << theTranslator->trInheritedFrom(convertToHtml(title,FALSE),classLink)
3590 << "</td></tr>\n";
3591}
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 3516 of file htmlgen.cpp.

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

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

◆ writeLatexSpacing()

void HtmlGenerator::writeLatexSpacing ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 230 of file htmlgen.h.

230{}

◆ writeLogo()

void HtmlGenerator::writeLogo ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1632 of file htmlgen.cpp.

1633{
1635}
static QCString writeLogoAsString(const QCString &path)
Definition htmlgen.cpp:1610

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

◆ writeLogoAsString()

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

Definition at line 1610 of file htmlgen.cpp.

1611{
1612 QCString result;
1613 switch (Config_getEnum(TIMESTAMP))
1614 {
1615 case TIMESTAMP_t::NO:
1616 result = theTranslator->trGeneratedBy();
1617 break;
1618 default:
1619 result = theTranslator->trGeneratedAt("<span class=\"timestamp\"></span>",
1620 convertToHtml(Config_getString(PROJECT_NAME)));
1621 break;
1622 }
1623 result += "&#160;\n<a href=\"https://www.doxygen.org/index.html\">\n"
1624 "<img class=\"footer\" src=\"";
1625 result += path;
1626 result += "doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> ";
1627 result += getDoxygenVersion();
1628 result += " ";
1629 return result;
1630}
virtual QCString trGeneratedAt(const QCString &date, const QCString &projName)=0

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

Referenced by writeLogo(), and writeSearchPage().

◆ writeNavigationPath()

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

Implements OutputGenIntf.

Definition at line 3129 of file htmlgen.cpp.

3130{
3131 m_t << substitute(s,"$relpath^",m_relPath);
3132}

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

◆ writeNonBreakableSpace()

void HtmlGenerator::writeNonBreakableSpace ( int n)
overridevirtual

Implements OutputGenIntf.

Definition at line 2643 of file htmlgen.cpp.

2644{
2645 for (int i=0; i<n; i++)
2646 {
2647 m_t << "&#160;";
2648 }
2649}

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

1834{
1835 if (!ref.isEmpty())
1836 {
1837 m_t << "<a class=\"elRef\" ";
1839 }
1840 else
1841 {
1842 m_t << "<a class=\"el\" ";
1843 }
1844 m_t << "href=\"";
1845 QCString fn = f;
1847 m_t << createHtmlUrl(m_relPath,ref,true,
1848 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1849 fn,
1850 anchor);
1851 m_t << "\">";
1852 docify(name);
1853 m_t << "</a>";
1854}

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

1639{
1640 t << substituteHtmlKeywords(g_footer_file,g_footer,convertToHtml(lastTitle),relPath,navPath);
1641}

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

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

◆ writePageLink()

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

Implements OutputGenIntf.

Definition at line 134 of file htmlgen.h.

134{}

◆ writePageOutline()

void HtmlGenerator::writePageOutline ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3620 of file htmlgen.cpp.

3621{
3622 m_t << "<div id=\"page-nav\" class=\"page-nav-panel\">\n";
3623 m_t << "<div id=\"page-nav-resize-handle\"></div>\n";
3624 m_t << "<div id=\"page-nav-tree\">\n";
3625 m_t << "<div id=\"page-nav-contents\">\n";
3626 m_t << "</div><!-- page-nav-contents -->\n";
3627 m_t << "</div><!-- page-nav-tree -->\n";
3628 m_t << "</div><!-- page-nav -->\n";
3629}

References OutputGenerator::m_t.

◆ writeQuickLinks()

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

Implements OutputGenIntf.

Definition at line 3154 of file htmlgen.cpp.

3155{
3156 writeDefaultQuickLinks(m_t,hli,file,m_relPath,extraTabs);
3157}

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

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

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

Referenced by generateOutput().

◆ writeSearchInfo()

void HtmlGenerator::writeSearchInfo ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1604 of file htmlgen.cpp.

1605{
1607}
static void writeSearchInfoStatic(TextStream &t, const QCString &relPath)
Definition htmlgen.cpp:1574

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

◆ writeSearchInfoStatic()

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

Definition at line 1574 of file htmlgen.cpp.

1575{
1576 bool searchEngine = Config_getBool(SEARCHENGINE);
1577 bool serverBasedSearch = Config_getBool(SERVER_BASED_SEARCH);
1578 if (searchEngine && !serverBasedSearch)
1579 {
1580 t << "<!-- window showing the filter options -->\n";
1581 t << "<div id=\"MSearchSelectWindow\"\n";
1582 t << " onmouseover=\"return searchBox.OnSearchSelectShow()\"\n";
1583 t << " onmouseout=\"return searchBox.OnSearchSelectHide()\"\n";
1584 t << " onkeydown=\"return searchBox.OnSearchSelectKey(event)\">\n";
1585 t << "</div>\n";
1586 t << "\n";
1587 t << "<!-- iframe showing the search results (closed by default) -->\n";
1588 t << "<div id=\"MSearchResultsWindow\">\n";
1589 t << "<div id=\"MSearchResults\">\n";
1590 t << "<div class=\"SRPage\">\n";
1591 t << "<div id=\"SRIndex\">\n";
1592 t << "<div id=\"SRResults\"></div>\n"; // here the results will be inserted
1593 t << "<div class=\"SRStatus\" id=\"Loading\">" << theTranslator->trLoading() << "</div>\n";
1594 t << "<div class=\"SRStatus\" id=\"Searching\">" << theTranslator->trSearching() << "</div>\n";
1595 t << "<div class=\"SRStatus\" id=\"NoMatches\">" << theTranslator->trNoMatches() << "</div>\n";
1596 t << "</div>\n"; // SRIndex
1597 t << "</div>\n"; // SRPage
1598 t << "</div>\n"; // MSearchResults
1599 t << "</div>\n"; // MSearchResultsWindow
1600 t << "\n";
1601 }
1602}
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 3160 of file htmlgen.cpp.

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

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

Referenced by generateOutput().

◆ writeSplitBar()

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

Implements OutputGenIntf.

Definition at line 3124 of file htmlgen.cpp.

3125{
3126 m_t << writeSplitBarAsString(name,m_relPath,allMembersFile);
3127}

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

◆ writeSplitBarAsString()

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

Definition at line 3089 of file htmlgen.cpp.

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

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

1822{
1823 m_t << "<li>";
1824 if (!path.isEmpty()) docify(path);
1825 QCString fn = f;
1827 m_t << "<a class=\"el\" href=\"" << fn << "\">";
1828 docify(name);
1829 m_t << "</a> ";
1830}

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

◆ writeString()

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

Implements OutputGenIntf.

Definition at line 1762 of file htmlgen.cpp.

1763{
1764 m_t << text;
1765}

References OutputGenerator::m_t.

◆ writeStyleInfo()

void HtmlGenerator::writeStyleInfo ( int part)
overridevirtual

Implements OutputGenIntf.

Definition at line 1663 of file htmlgen.cpp.

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

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

◆ writeStyleSheetFile()

void HtmlGenerator::writeStyleSheetFile ( TextStream & t)
static

Definition at line 1515 of file htmlgen.cpp.

1516{
1519}

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

3594{
3595 if (first)
3596 {
3597 m_t << " <div class=\"summary\">\n";
3598 }
3599 else
3600 {
3601 m_t << " &#124;\n";
3602 }
3603 m_t << "<a href=\"";
3604 if (!file.isEmpty())
3605 {
3606 QCString fn = file;
3608 m_t << m_relPath << fn;
3609 }
3610 else if (!anchor.isEmpty())
3611 {
3612 m_t << "#";
3613 m_t << anchor;
3614 }
3615 m_t << "\">";
3616 m_t << title;
3617 m_t << "</a>";
3618}

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

1345{
1347 QCString dname=Config_getString(HTML_OUTPUT);
1348 ResourceMgr &mgr = ResourceMgr::instance();
1349 mgr.copyResource("doxygen.svg",dname);
1350 Doxygen::indexList->addImageFile("doxygen.svg");
1351}
void addImageFile(const QCString &name)
Definition indexlist.h:123

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

Referenced by generateOutput().

Member Data Documentation

◆ m_codeGen

HtmlCodeGenerator* HtmlGenerator::m_codeGen = nullptr
private

Definition at line 348 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 347 of file htmlgen.h.

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

◆ m_emptySection

◆ m_lastFile

QCString HtmlGenerator::m_lastFile
private

Definition at line 343 of file htmlgen.h.

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

◆ m_lastTitle

QCString HtmlGenerator::m_lastTitle
private

Definition at line 342 of file htmlgen.h.

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

◆ m_pageOutlineIndent

int HtmlGenerator::m_pageOutlineIndent = 0
private

Definition at line 349 of file htmlgen.h.

◆ m_relPath

◆ m_sectionCount

◆ m_tocState

TocState HtmlGenerator::m_tocState
private

Definition at line 361 of file htmlgen.h.

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


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