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

Generator for HTML output. More...

#include <src/htmlgen.h>

Inheritance diagram for HtmlGenerator:
Collaboration diagram for HtmlGenerator:

Classes

struct  TocState

Public Member Functions

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

Static Public Member Functions

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

Private Member Functions

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

Static Private Member Functions

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

Private Attributes

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

Additional Inherited Members

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

Detailed Description

Generator for HTML output.

Definition at line 95 of file htmlgen.h.

Constructor & Destructor Documentation

◆ HtmlGenerator() [1/3]

HtmlGenerator::HtmlGenerator ( )

Definition at line 1193 of file htmlgen.cpp.

1194 : OutputGenerator(Config_getString(HTML_OUTPUT))
1195 , m_codeList(std::make_unique<OutputCodeList>())
1196{
1197 //printf("%p:HtmlGenerator()\n",(void*)this);
1198 m_codeGen = m_codeList->add<HtmlCodeGenerator>(&m_t);
1199}
HtmlCodeGenerator * m_codeGen
Definition htmlgen.h:351
std::unique_ptr< OutputCodeList > m_codeList
Definition htmlgen.h:350
TextStream m_t
Definition outputgen.h:116
#define Config_getString(name)
Definition config.h:32

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

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

◆ HtmlGenerator() [2/3]

HtmlGenerator::HtmlGenerator ( const HtmlGenerator & og)

Definition at line 1201 of file htmlgen.cpp.

1201 : OutputGenerator(og.m_dir), OutputGenIntf()
1202{
1203 //printf("%p:HtmlGenerator(copy %p)\n",(void*)this,(void*)&og);
1204 m_codeList = std::make_unique<OutputCodeList>(*og.m_codeList);
1205 m_codeGen = m_codeList->get<HtmlCodeGenerator>(OutputType::Html);
1206 m_codeGen->setTextStream(&m_t);
1209 m_relPath = og.m_relPath;
1212}
int m_sectionCount
Definition htmlgen.h:348
QCString m_lastFile
Definition htmlgen.h:346
QCString m_relPath
Definition htmlgen.h:347
bool m_emptySection
Definition htmlgen.h:349
QCString m_lastTitle
Definition htmlgen.h:345
QCString m_dir
Definition outputgen.h:117

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

◆ HtmlGenerator() [3/3]

HtmlGenerator::HtmlGenerator ( HtmlGenerator && )
delete

References HtmlGenerator().

◆ ~HtmlGenerator()

HtmlGenerator::~HtmlGenerator ( )
default

Member Function Documentation

◆ addCodeGen()

void HtmlGenerator::addCodeGen ( OutputCodeList & list)
overridevirtual

Implements OutputGenIntf.

Definition at line 1234 of file htmlgen.cpp.

1235{
1237}
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 2713 of file htmlgen.cpp.

2714{
2715}

◆ addLabel()

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

Implements OutputGenIntf.

Definition at line 1817 of file htmlgen.cpp.

1818{
1819}

◆ cleanup()

void HtmlGenerator::cleanup ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1404 of file htmlgen.cpp.

1405{
1406 QCString dname = Config_getString(HTML_OUTPUT);
1407 Dir d(dname.str());
1408 clearSubDirs(d);
1409}
const std::string & str() const
Definition qcstring.h:556
void clearSubDirs(const Dir &d)
Definition util.cpp:3688

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

◆ clearBuffer()

void HtmlGenerator::clearBuffer ( )

◆ clone()

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

Implements OutputGenIntf.

Definition at line 122 of file htmlgen.h.

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

◆ docify()

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

Implements OutputGenIntf.

Definition at line 2013 of file htmlgen.cpp.

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

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

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

2637{
2642
2644
2647}
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:2109
static void startSectionSummary(TextStream &t, int sectionCount)
Definition htmlgen.cpp:2088
static void endSectionContent(TextStream &t)
Definition htmlgen.cpp:2124
static void endSectionHeader(TextStream &t)
Definition htmlgen.cpp:2082
static void endSectionSummary(TextStream &t)
Definition htmlgen.cpp:2099
#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 2137 of file htmlgen.cpp.

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

References convertToId(), OutputGenerator::dir(), TextStream::empty(), endSectionContent(), endSectionHeader(), endSectionSummary(), OutputGenerator::fileName(), m_relPath, m_sectionCount, OutputGenerator::m_t, startSectionContent(), startSectionSummary(), TextStream::str(), and ClassDiagram::writeImage().

◆ endCompoundTemplateParams()

void HtmlGenerator::endCompoundTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2240 of file htmlgen.cpp.

2241{
2242 m_t << "</div>";
2243}

References OutputGenerator::m_t.

◆ endConstraintDocs()

void HtmlGenerator::endConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3475 of file htmlgen.cpp.

3476{
3477 m_t << "</td></tr>\n";
3478}

References OutputGenerator::m_t.

◆ endConstraintList()

void HtmlGenerator::endConstraintList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3480 of file htmlgen.cpp.

3481{
3482 m_t << "</table>\n";
3483 m_t << "</dd>\n";
3484 m_t << "</dl>\n";
3485 m_t << "</div>\n";
3486}

References OutputGenerator::m_t.

◆ endConstraintParam()

void HtmlGenerator::endConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3455 of file htmlgen.cpp.

3456{
3457 m_t << "</em></td>";
3458}

References OutputGenerator::m_t.

◆ endConstraintType()

void HtmlGenerator::endConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3465 of file htmlgen.cpp.

3466{
3467 m_t << "</em></td>";
3468}

References OutputGenerator::m_t.

◆ endContents()

void HtmlGenerator::endContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3217 of file htmlgen.cpp.

3218{
3219 m_t << "</div><!-- contents -->\n";
3220}

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

2731{
2732 m_t << "</table>\n";
2733}

References OutputGenerator::m_t.

◆ endDescTableData()

void HtmlGenerator::endDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2770 of file htmlgen.cpp.

2771{
2772 m_t << "</td>";
2773}

References OutputGenerator::m_t.

◆ endDescTableInit()

void HtmlGenerator::endDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2760 of file htmlgen.cpp.

2761{
2762 m_t << "&#160;</td>";
2763}

References OutputGenerator::m_t.

◆ endDescTableRow()

void HtmlGenerator::endDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2740 of file htmlgen.cpp.

2741{
2742 m_t << "</tr>\n";
2743}

References OutputGenerator::m_t.

◆ endDescTableTitle()

void HtmlGenerator::endDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2750 of file htmlgen.cpp.

2751{
2752 m_t << "&#160;</td>";
2753}

References OutputGenerator::m_t.

◆ endDirDepGraph()

void HtmlGenerator::endDirDepGraph ( DotDirDeps & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2654 of file htmlgen.cpp.

2655{
2660
2662
2665}
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 2566 of file htmlgen.cpp.

2567{
2568 bool generateLegend = Config_getBool(GENERATE_LEGEND);
2569 bool umlLook = Config_getBool(UML_LOOK);
2574
2576 if (generateLegend && !umlLook)
2577 {
2578 QCString url = m_relPath+"graph_legend"+Doxygen::htmlFileExtension;
2579 m_t << "<center><span class=\"legend\">[";
2580 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
2581 m_t << "<a ";
2582 if (generateTreeView) m_t << "target=\"top\" ";
2583 m_t << "href=\"";
2584 if (!url.isEmpty()) m_t << url;
2585 m_t << "\">";
2587 m_t << "</a>";
2588 m_t << "]</span></center>";
2589 }
2590
2593}
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool TBRank=TRUE, bool imageMap=TRUE, int graphId=-1)
static QCString htmlFileExtension
Definition doxygen.h:122
bool isEmpty() const
Returns TRUE iff the string is empty.
Definition qcstring.h:167
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 1813 of file htmlgen.cpp.

1814{
1815}

◆ endEmbeddedDoc()

void HtmlGenerator::endEmbeddedDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3594 of file htmlgen.cpp.

3595{
3596 DBG_HTML(m_t << "<!-- endEmbeddedDoc -->\n";)
3597 m_t << "</div>";
3598}
#define DBG_HTML(x)
Definition htmlgen.cpp:62

References DBG_HTML, and OutputGenerator::m_t.

◆ endEmphasis()

void HtmlGenerator::endEmphasis ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 214 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endExamples()

void HtmlGenerator::endExamples ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2782 of file htmlgen.cpp.

2783{
2784 m_t << "</dl>\n";
2785}

References OutputGenerator::m_t.

◆ endFile()

void HtmlGenerator::endFile ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1713 of file htmlgen.cpp.

1714{
1715 endPlainFile();
1716}
void endPlainFile() override
Definition htmlgen.h:334

References endPlainFile().

◆ endGroupCollaboration()

void HtmlGenerator::endGroupCollaboration ( DotGroupCollaboration & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2618 of file htmlgen.cpp.

2619{
2624
2626
2629}
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 1966 of file htmlgen.cpp.

1967{
1968 if (extraIndentLevel==2)
1969 {
1970 m_t << "</h4>\n";
1971 }
1972 else if (extraIndentLevel==1)
1973 {
1974 m_t << "</h3>\n";
1975 }
1976 else
1977 {
1978 m_t << "</h2>\n";
1979 }
1980}

References OutputGenerator::m_t.

◆ endHeaderSection()

void HtmlGenerator::endHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3517 of file htmlgen.cpp.

3518{
3519 m_t << "</div><!--header-->\n";
3520}

References OutputGenerator::m_t.

◆ endInclDepGraph()

void HtmlGenerator::endInclDepGraph ( DotInclDepGraph & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2600 of file htmlgen.cpp.

2601{
2606
2608
2611}
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 2707 of file htmlgen.cpp.

2708{
2709 DBG_HTML(m_t << "<!-- endIndent -->\n";)
2710 m_t << "\n</div>\n" << "</div>\n";
2711}

References DBG_HTML, and OutputGenerator::m_t.

◆ endIndexItem()

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

Implements OutputGenIntf.

Definition at line 1879 of file htmlgen.cpp.

1880{
1881 //printf("HtmlGenerator::endIndexItem(%s,%s,%s)\n",ref,f,name);
1882 if (!ref.isEmpty() || !f.isEmpty())
1883 {
1884 m_t << "</a>";
1885 }
1886 else
1887 {
1888 m_t << "</b>";
1889 }
1890}

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

◆ endIndexKey()

void HtmlGenerator::endIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2370 of file htmlgen.cpp.

2371{
2372 //m_t << "</td>";
2373}

◆ endIndexList()

void HtmlGenerator::endIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2360 of file htmlgen.cpp.

2361{
2362 m_t << "</table>\n";
2363}

References OutputGenerator::m_t.

◆ endIndexListItem()

void HtmlGenerator::endIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1844 of file htmlgen.cpp.

1845{
1846 m_t << "</li>\n";
1847}

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

2381{
2382 //m_t << "</td></tr>\n";
2383}

◆ endInlineHeader()

void HtmlGenerator::endInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3532 of file htmlgen.cpp.

3533{
3534 m_t << "</h3></th></tr>\n";
3535}

References OutputGenerator::m_t.

◆ endInlineMemberDoc()

void HtmlGenerator::endInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3582 of file htmlgen.cpp.

3583{
3584 DBG_HTML(m_t << "<!-- endInlineMemberDoc -->\n";)
3585 m_t << "</td></tr>\n";
3586}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberName()

void HtmlGenerator::endInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3570 of file htmlgen.cpp.

3571{
3572 DBG_HTML(m_t << "<!-- endInlineMemberName -->\n";)
3573 m_t << "</td>\n";
3574}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberType()

void HtmlGenerator::endInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3558 of file htmlgen.cpp.

3559{
3560 DBG_HTML(m_t << "<!-- endInlineMemberType -->\n";)
3561 m_t << "</td>\n";
3562}

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

3647{
3648 DBG_HTML(m_t << "<!-- endLabels -->\n";)
3649 m_t << "</span>";
3650}

References DBG_HTML, and OutputGenerator::m_t.

◆ endLocalToc()

void HtmlGenerator::endLocalToc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3749 of file htmlgen.cpp.

3750{
3751 if (m_tocState.level > m_tocState.maxLevel) m_tocState.level = m_tocState.maxLevel;
3752 while (m_tocState.level>0)
3753 {
3754 m_tocState.decIndent(m_t,"</li>");
3755 m_tocState.decIndent(m_t,"</ul>");
3756 m_tocState.level--;
3757 }
3758 m_t << "</div>\n";
3759}
TocState m_tocState
Definition htmlgen.h:364

References OutputGenerator::m_t, and m_tocState.

◆ endMemberDeclaration()

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

Implements OutputGenIntf.

Definition at line 3729 of file htmlgen.cpp.

3730{
3731}

◆ endMemberDescription()

void HtmlGenerator::endMemberDescription ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2284 of file htmlgen.cpp.

2285{
2286 DBG_HTML(m_t << "<!-- endMemberDescription -->\n")
2287 m_t << "<br /></td></tr>\n";
2288}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDoc()

void HtmlGenerator::endMemberDoc ( bool hasArgs)
overridevirtual

Implements OutputGenIntf.

Definition at line 2550 of file htmlgen.cpp.

2551{
2552 DBG_HTML(m_t << "<!-- endMemberDoc -->\n";)
2553 if (!hasArgs)
2554 {
2555 m_t << " </tr>\n";
2556 }
2557 m_t << " </table>\n";
2558 // m_t << "</div>\n";
2559}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocList()

void HtmlGenerator::endMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2390 of file htmlgen.cpp.

2391{
2392 DBG_HTML(m_t << "<!-- endMemberDocList -->\n";)
2393}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocName()

void HtmlGenerator::endMemberDocName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2434 of file htmlgen.cpp.

2435{
2436 DBG_HTML(m_t << "<!-- endMemberDocName -->\n";)
2437 m_t << "</td>\n";
2438}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocPrefixItem()

void HtmlGenerator::endMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2418 of file htmlgen.cpp.

2419{
2420 DBG_HTML(m_t << "<!-- endMemberDocPrefixItem -->\n";)
2421 m_t << "</div>\n";
2422}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocSimple()

void HtmlGenerator::endMemberDocSimple ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 3546 of file htmlgen.cpp.

3547{
3548 DBG_HTML(m_t << "<!-- endMemberDocSimple -->\n";)
3549 m_t << "</table>\n";
3550}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberGroup()

void HtmlGenerator::endMemberGroup ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2696 of file htmlgen.cpp.

2697{
2698}

◆ endMemberGroupDocs()

void HtmlGenerator::endMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2687 of file htmlgen.cpp.

2688{
2689 m_t << "</div></td></tr>\n";
2690}

References OutputGenerator::m_t.

◆ endMemberGroupHeader()

void HtmlGenerator::endMemberGroupHeader ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2677 of file htmlgen.cpp.

2678{
2679 m_t << "</div></td></tr>\n";
2680}

References OutputGenerator::m_t.

◆ endMemberHeader()

void HtmlGenerator::endMemberHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2332 of file htmlgen.cpp.

2333{
2334 DBG_HTML(m_t << "<!-- endMemberHeader -->\n")
2335 m_t << "</h2></td></tr>\n";
2336}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberItem()

void HtmlGenerator::endMemberItem ( MemberItemType type)
overridevirtual

Implements OutputGenIntf.

Definition at line 2209 of file htmlgen.cpp.

2210{
2212 {
2213 insertMemberAlign(false);
2214 }
2215 m_t << "</td></tr>\n";
2216}
OutputType type() const override
Definition htmlgen.h:121
void insertMemberAlign(bool) override
Definition htmlgen.cpp:2245

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

◆ endMemberList()

void HtmlGenerator::endMemberList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2176 of file htmlgen.cpp.

2177{
2178 DBG_HTML(m_t << "<!-- endMemberList -->\n")
2179}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberSections()

void HtmlGenerator::endMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2298 of file htmlgen.cpp.

2299{
2300 DBG_HTML(m_t << "<!-- endMemberSections -->\n")
2301 if (!m_emptySection)
2302 {
2303 m_t << "</table>\n";
2304 }
2305}

References DBG_HTML, m_emptySection, and OutputGenerator::m_t.

◆ endMemberSubtitle()

void HtmlGenerator::endMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2349 of file htmlgen.cpp.

2350{
2351 DBG_HTML(m_t << "<!-- endMemberSubtitle -->\n")
2352 m_t << "</td></tr>\n";
2353}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberTemplateParams()

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

Implements OutputGenIntf.

Definition at line 2222 of file htmlgen.cpp.

2223{
2224 bool dynamicSections = Config_getBool(HTML_DYNAMIC_SECTIONS);
2225 m_t << "</td></tr>\n";
2226 m_t << "<tr class=\"memitem:" << convertToId(anchor);
2227 if (!inheritId.isEmpty())
2228 {
2229 if (dynamicSections) m_t << " inherit";
2230 m_t << " " << inheritId;
2231 }
2232 m_t << " template\"><td class=\"memItemLeft\">";
2233}

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

◆ endPageDoc()

void HtmlGenerator::endPageDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3227 of file htmlgen.cpp.

3228{
3229 m_t << "</div><!-- PageDoc -->\n";
3230}

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

1830{
1831 m_t << "</p>\n";
1832}

References OutputGenerator::m_t.

◆ endParameterDefVal()

void HtmlGenerator::endParameterDefVal ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2519 of file htmlgen.cpp.

2520{
2521 m_t << "</span>";
2522}

References OutputGenerator::m_t.

◆ endParameterExtra()

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

Implements OutputGenIntf.

Definition at line 2488 of file htmlgen.cpp.

2489{
2490 DBG_HTML(m_t << "<!-- endParameterExtra -->\n";)
2491 if (last)
2492 {
2493 if (emptyList)
2494 {
2495 if (closeBracket) m_t << "</td><td>)";
2496 m_t << "</td>\n";
2497 m_t << " <td>";
2498 }
2499 else
2500 {
2501 m_t << "&#160;";
2502 if (closeBracket) m_t << ")";
2503 }
2504 }
2505 else
2506 {
2507 m_t << "</td>\n";
2508 m_t << " </tr>\n";
2509 }
2510}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterList()

void HtmlGenerator::endParameterList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2524 of file htmlgen.cpp.

2525{
2526 DBG_HTML(m_t << "<!-- endParameterList -->\n";)
2527 m_t << "</td>\n";
2528 m_t << " </tr>\n";
2529}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterName()

void HtmlGenerator::endParameterName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2477 of file htmlgen.cpp.

2478{
2479 DBG_HTML(m_t << "<!-- endParameterName -->\n";)
2480 m_t << "</em></span>";
2481}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterType()

void HtmlGenerator::endParameterType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2465 of file htmlgen.cpp.

2466{
2467 DBG_HTML(m_t << "<!-- endParameterType -->\n";)
2468 m_t << "</td>";
2469}

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

1724{
1725 m_t << "</h3>";
1726}

References OutputGenerator::m_t.

◆ endQuickIndices()

void HtmlGenerator::endQuickIndices ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3158 of file htmlgen.cpp.

3159{
3160 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3161 m_t << "</div><!-- top -->\n";
3162 if (!generateTreeView)
3163 {
3164 m_t << "<div id=\"doc-content\">\n";
3165 }
3166}

References Config_getBool, and OutputGenerator::m_t.

◆ endSection()

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

Implements OutputGenIntf.

Definition at line 1998 of file htmlgen.cpp.

1999{
2000 switch(type.level())
2001 {
2002 case SectionType::Page: m_t << "</h1>"; break;
2003 case SectionType::Section: m_t << "</h2>"; break;
2004 case SectionType::Subsection: m_t << "</h3>"; break;
2005 case SectionType::Subsubsection: m_t << "</h4>"; break;
2006 case SectionType::Paragraph: m_t << "</h5>"; break;
2007 case SectionType::Subparagraph: m_t << "</h6>"; break;
2008 case SectionType::Subsubparagraph: m_t << "</h6>"; break;
2009 default: ASSERT(0); break;
2010 }
2011}
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 1940 of file htmlgen.cpp.

1941{
1942 m_t << "</a>";
1943}

References OutputGenerator::m_t.

◆ endTitle()

void HtmlGenerator::endTitle ( )
inlineprivate

Definition at line 341 of file htmlgen.h.

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

References OutputGenerator::m_t.

Referenced by endTitleHead().

◆ endTitleHead()

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

Implements OutputGenIntf.

Definition at line 3511 of file htmlgen.cpp.

3512{
3513 endTitle();
3514 m_t << "</div>\n";
3515}
void endTitle()
Definition htmlgen.h:341

References endTitle(), and OutputGenerator::m_t.

◆ endTocEntry()

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

Implements OutputGenIntf.

Definition at line 3805 of file htmlgen.cpp.

3806{
3807 SectionType type = si->type();
3808 int nextLevel = type.level();
3809 if (type.isSection() && nextLevel<=m_tocState.maxLevel)
3810 {
3811 m_t << "</a>\n";
3812 m_tocState.inLi[nextLevel]=true;
3813 m_tocState.level = nextLevel;
3814 }
3815}
SectionType type() const
Definition section.h:71

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

◆ endTypewriter()

void HtmlGenerator::endTypewriter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 164 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ exceptionEntry()

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

Implements OutputGenIntf.

Definition at line 2531 of file htmlgen.cpp.

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

References DBG_HTML, OutputGenerator::m_t, and prefix.

◆ getNavTreeCss()

QCString HtmlGenerator::getNavTreeCss ( )
static

Definition at line 3733 of file htmlgen.cpp.

3734{
3735 ResourceMgr &mgr = ResourceMgr::instance();
3736 return replaceVariables(mgr.getAsString("navtree.css"));
3737}
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:751

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

Referenced by init().

◆ init()

void HtmlGenerator::init ( )
static

Definition at line 1248 of file htmlgen.cpp.

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

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

2246{
2247 DBG_HTML(m_t << "<!-- insertMemberAlign -->\n")
2248 m_t << "&#160;</td><td class=\"memItemRight\">";
2249}

References DBG_HTML, and OutputGenerator::m_t.

Referenced by endMemberItem().

◆ insertMemberAlignLeft()

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

Implements OutputGenIntf.

Definition at line 2251 of file htmlgen.cpp.

2252{
2253 if (!initTag) m_t << "&#160;</td>";
2254 switch (type)
2255 {
2256 case MemberItemType::Normal: m_t << "<td class=\"memItemLeft\">"; break;
2257 case MemberItemType::AnonymousStart: m_t << "<td class=\"memItemLeft anon\">"; break;
2258 case MemberItemType::AnonymousEnd: m_t << "<td class=\"memItemLeft anonEnd\">"; break;
2259 case MemberItemType::Templated: m_t << "<td class=\"memTemplParams\" colspan=\"2\">"; break;
2260 }
2261}

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

3489{
3490 if (!style.isEmpty())
3491 {
3492 m_t << "<br class=\"" << style << "\" />\n";
3493 }
3494 else
3495 {
3496 m_t << "<br />\n";
3497 }
3498}

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

◆ operator=() [1/2]

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

Definition at line 1214 of file htmlgen.cpp.

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

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

2632{
2634}
static void startSectionHeader(TextStream &t, const QCString &relPath, int sectionCount)
Definition htmlgen.cpp:2065

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

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

◆ startCompoundTemplateParams()

void HtmlGenerator::startCompoundTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2235 of file htmlgen.cpp.

2236{
2237 m_t << "<div class=\"compoundTemplParams\">";
2238}

References OutputGenerator::m_t.

◆ startConstraintDocs()

void HtmlGenerator::startConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3470 of file htmlgen.cpp.

3471{
3472 m_t << "<td>&#160;";
3473}

References OutputGenerator::m_t.

◆ startConstraintList()

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

Implements OutputGenIntf.

Definition at line 3443 of file htmlgen.cpp.

3444{
3445 m_t << "<div class=\"typeconstraint\">\n";
3446 m_t << "<dl><dt><b>" << header << "</b></dt><dd>\n";
3447 m_t << "<table border=\"0\" cellspacing=\"2\" cellpadding=\"0\">\n";
3448}

References OutputGenerator::m_t.

◆ startConstraintParam()

void HtmlGenerator::startConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3450 of file htmlgen.cpp.

3451{
3452 m_t << "<tr><td valign=\"top\"><em>";
3453}

References OutputGenerator::m_t.

◆ startConstraintType()

void HtmlGenerator::startConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3460 of file htmlgen.cpp.

3461{
3462 m_t << "<td>&#160;:</td><td valign=\"top\"><em>";
3463}

References OutputGenerator::m_t.

◆ startContents()

void HtmlGenerator::startContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3212 of file htmlgen.cpp.

3213{
3214 m_t << "<div class=\"contents\">\n";
3215}

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

2726{
2727 m_t << "<table class=\"fieldtable\">\n"
2728 << "<tr><th colspan=\"" << (hasInits?3:2) << "\">" << title << "</th></tr>";
2729}

References OutputGenerator::m_t.

◆ startDescTableData()

void HtmlGenerator::startDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2765 of file htmlgen.cpp.

2766{
2767 m_t << "<td class=\"fielddoc\">";
2768}

References OutputGenerator::m_t.

◆ startDescTableInit()

void HtmlGenerator::startDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2755 of file htmlgen.cpp.

2756{
2757 m_t << "<td class=\"fieldinit\">";
2758}

References OutputGenerator::m_t.

◆ startDescTableRow()

void HtmlGenerator::startDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2735 of file htmlgen.cpp.

2736{
2737 m_t << "<tr>";
2738}

References OutputGenerator::m_t.

◆ startDescTableTitle()

void HtmlGenerator::startDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2745 of file htmlgen.cpp.

2746{
2747 m_t << "<td class=\"fieldname\">";
2748}

References OutputGenerator::m_t.

◆ startDirDepGraph()

void HtmlGenerator::startDirDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2649 of file htmlgen.cpp.

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

◆ startDotGraph()

void HtmlGenerator::startDotGraph ( )
overridevirtual

Implements OutputGenIntf.

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

1809{
1810 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>";
1811}

References OutputGenerator::m_t.

◆ startEmbeddedDoc()

void HtmlGenerator::startEmbeddedDoc ( int indent)
overridevirtual

Implements OutputGenIntf.

Definition at line 3588 of file htmlgen.cpp.

3589{
3590 DBG_HTML(m_t << "<!-- startEmbeddedDoc -->\n";)
3591 m_t << "<div class=\"embeddoc indent-" << indent << "\">";
3592}

References DBG_HTML, and OutputGenerator::m_t.

◆ startEmphasis()

void HtmlGenerator::startEmphasis ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 213 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startExamples()

void HtmlGenerator::startExamples ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2775 of file htmlgen.cpp.

2776{
2777 m_t << "<dl class=\"section examples\"><dt>";
2779 m_t << "</dt>";
2780}
void docify(const QCString &text) override
Definition htmlgen.cpp:2013
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 1603 of file htmlgen.cpp.

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

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

1946{
1947 if (extraIndentLevel==2)
1948 {
1949 m_t << "<h4";
1950 }
1951 else if (extraIndentLevel==1)
1952 {
1953 m_t << "<h3";
1954 }
1955 else // extraIndentLevel==0
1956 {
1957 m_t << "<h2";
1958 }
1959 if (!id.isEmpty())
1960 {
1961 m_t <<" id=\"header-"+convertToId(id)+"\"";
1962 }
1963 m_t << " class=\"groupheader\">";
1964}

References convertToId(), and OutputGenerator::m_t.

◆ startHeaderSection()

void HtmlGenerator::startHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3500 of file htmlgen.cpp.

3501{
3502 m_t << "<div class=\"header\">\n";
3503}

References OutputGenerator::m_t.

◆ startInclDepGraph()

void HtmlGenerator::startInclDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2595 of file htmlgen.cpp.

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

◆ startIndent()

void HtmlGenerator::startIndent ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2700 of file htmlgen.cpp.

2701{
2702 DBG_HTML(m_t << "<!-- startIndent -->\n";)
2703
2704 m_t << "<div class=\"memdoc\">\n";
2705}

References DBG_HTML, and OutputGenerator::m_t.

◆ startIndexItem()

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

Implements OutputGenIntf.

Definition at line 1849 of file htmlgen.cpp.

1850{
1851 //printf("HtmlGenerator::startIndexItem(%s,%s)\n",ref,f);
1852 if (!ref.isEmpty() || !f.isEmpty())
1853 {
1854 if (!ref.isEmpty())
1855 {
1856 m_t << "<a class=\"elRef\" ";
1858 }
1859 else
1860 {
1861 m_t << "<a class=\"el\" ";
1862 }
1863 m_t << "href=\"";
1864 m_t << externalRef(m_relPath,ref,TRUE);
1865 if (!f.isEmpty())
1866 {
1867 QCString fn=f;
1869 m_t << fn;
1870 }
1871 m_t << "\">";
1872 }
1873 else
1874 {
1875 m_t << "<b>";
1876 }
1877}
QCString externalRef(const QCString &relPath, const QCString &ref, bool href)
Definition util.cpp:5797
QCString externalLinkTarget(const bool parent)
Definition util.cpp:5749

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

◆ startIndexKey()

void HtmlGenerator::startIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2365 of file htmlgen.cpp.

2366{
2367 //m_t << " <tr><td class=\"indexkey\">";
2368}

◆ startIndexList()

void HtmlGenerator::startIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2355 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ startIndexListItem()

void HtmlGenerator::startIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1839 of file htmlgen.cpp.

1840{
1841 m_t << "<li>";
1842}

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

2376{
2377 //m_t << "<td class=\"indexvalue\">";
2378}

◆ startInlineHeader()

void HtmlGenerator::startInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3522 of file htmlgen.cpp.

3523{
3524 if (m_emptySection)
3525 {
3526 m_t << "<table class=\"memberdecls memberdecls-inline\">\n";
3528 }
3529 m_t << "<tr><th colspan=\"2\"><h3>";
3530}

References FALSE, m_emptySection, and OutputGenerator::m_t.

◆ startInlineMemberDoc()

void HtmlGenerator::startInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3576 of file htmlgen.cpp.

3577{
3578 DBG_HTML(m_t << "<!-- startInlineMemberDoc -->\n";)
3579 m_t << "<td class=\"fielddoc\">\n";
3580}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberName()

void HtmlGenerator::startInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3564 of file htmlgen.cpp.

3565{
3566 DBG_HTML(m_t << "<!-- startInlineMemberName -->\n";)
3567 m_t << "<td class=\"fieldname\">\n";
3568}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberType()

void HtmlGenerator::startInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3552 of file htmlgen.cpp.

3553{
3554 DBG_HTML(m_t << "<!-- startInlineMemberType -->\n";)
3555 m_t << "<tr><td class=\"fieldtype\">\n";
3556}

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

3601{
3602 DBG_HTML(m_t << "<!-- startLabels -->\n";)
3603 m_t << "<span class=\"mlabels\">";
3604}

References DBG_HTML, and OutputGenerator::m_t.

◆ startLocalToc()

void HtmlGenerator::startLocalToc ( int level)
overridevirtual

Implements OutputGenIntf.

Definition at line 3739 of file htmlgen.cpp.

3740{
3741 m_tocState.level=0;
3742 m_tocState.indent=0;
3743 m_tocState.maxLevel=level;
3744 m_tocState.inLi = BoolVector(level+1,false);
3745 m_t << "<div class=\"toc\">";
3746 m_t << "<h3>" << theTranslator->trRTFTableOfContents() << "</h3>\n";
3747}
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 2263 of file htmlgen.cpp.

2264{
2265 DBG_HTML(m_t << "<!-- startMemberDescription -->\n")
2266 bool dynamicSections = Config_getBool(HTML_DYNAMIC_SECTIONS);
2267 if (m_emptySection)
2268 {
2269 m_t << "<table class=\"memberdecls\">\n";
2271 }
2272 m_t << "<tr class=\"memdesc:" << anchor;
2273 if (!inheritId.isEmpty())
2274 {
2275 if (dynamicSections) m_t << " inherit";
2276 m_t << " " << inheritId;
2277 }
2278 m_t << "\">";
2279 m_t << "<td class=\"mdescLeft\">&#160;</td>";
2280 if (typ) m_t << "<td class=\"mdescLeft\">&#160;</td>";
2281 m_t << "<td class=\"mdescRight\">";
2282}

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

◆ startMemberDoc()

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

Implements OutputGenIntf.

Definition at line 2395 of file htmlgen.cpp.

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

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

◆ startMemberDocList()

void HtmlGenerator::startMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2385 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocName()

void HtmlGenerator::startMemberDocName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2424 of file htmlgen.cpp.

2425{
2426 DBG_HTML(m_t << "<!-- startMemberDocName -->\n";)
2427
2428 m_t << " <table class=\"memname\">\n";
2429
2430 m_t << " <tr>\n";
2431 m_t << " <td class=\"memname\">";
2432}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocPrefixItem()

void HtmlGenerator::startMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2412 of file htmlgen.cpp.

2413{
2414 DBG_HTML(m_t << "<!-- startMemberDocPrefixItem -->\n";)
2415 m_t << "<div class=\"memtemplate\">\n";
2416}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocSimple()

void HtmlGenerator::startMemberDocSimple ( bool isEnum)
overridevirtual

Implements OutputGenIntf.

Definition at line 3537 of file htmlgen.cpp.

3538{
3539 DBG_HTML(m_t << "<!-- startMemberDocSimple -->\n";)
3540 m_t << "<table class=\"fieldtable\">\n";
3541 m_t << "<tr><th colspan=\"" << (isEnum?"2":"3") << "\">";
3542 m_t << (isEnum? theTranslator->trEnumerationValues() :
3543 theTranslator->trCompoundMembers()) << "</th></tr>\n";
3544}
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 2692 of file htmlgen.cpp.

2693{
2694}

◆ startMemberGroupDocs()

void HtmlGenerator::startMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2682 of file htmlgen.cpp.

2683{
2684 m_t << "<tr><td colspan=\"2\" class=\"ititle\"><div class=\"groupText\">";
2685}

References OutputGenerator::m_t.

◆ startMemberGroupHeader()

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

Implements OutputGenIntf.

Definition at line 2672 of file htmlgen.cpp.

2673{
2674 m_t << "<tr id=\"" << id << "\" class=\"groupHeader\"><td colspan=\"2\"><div class=\"groupHeader\">";
2675}

References OutputGenerator::m_t.

◆ startMemberHeader()

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

Implements OutputGenIntf.

Definition at line 2307 of file htmlgen.cpp.

2308{
2309 DBG_HTML(m_t << "<!-- startMemberHeader -->\n")
2310 if (!m_emptySection)
2311 {
2312 m_t << "</table>";
2314 }
2315 if (m_emptySection)
2316 {
2317 m_t << "<table class=\"memberdecls\">\n";
2319 }
2320 m_t << "<tr class=\"heading\"><td colspan=\"" << typ << "\"><h2";
2321 if (!anchor.isEmpty())
2322 {
2323 m_t << " id=\"header-" << anchor << "\"";
2324 }
2325 m_t << " class=\"groupheader\">";
2326 if (!anchor.isEmpty())
2327 {
2328 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>\n";
2329 }
2330}

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

2186{
2187 DBG_HTML(m_t << "<!-- startMemberItem() -->\n")
2188 bool dynamicSections = Config_getBool(HTML_DYNAMIC_SECTIONS);
2189 if (m_emptySection)
2190 {
2191 m_t << "<table class=\"memberdecls\">\n";
2193 }
2194 m_t << "<tr class=\"memitem:" << convertToId(anchor);
2195 if (!inheritId.isEmpty())
2196 {
2197 if (dynamicSections) m_t << " inherit";
2198 m_t << " " << inheritId;
2199 }
2200 m_t << "\"";
2201 if (!anchor.isEmpty())
2202 {
2203 m_t << " id=\"r_" << convertToId(anchor) << "\"";
2204 }
2205 m_t << ">";
2207}
void insertMemberAlignLeft(MemberItemType, bool) override
Definition htmlgen.cpp:2251

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

◆ startMemberList()

void HtmlGenerator::startMemberList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2171 of file htmlgen.cpp.

2172{
2173 DBG_HTML(m_t << "<!-- startMemberList -->\n")
2174}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberSections()

void HtmlGenerator::startMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2290 of file htmlgen.cpp.

2291{
2292 DBG_HTML(m_t << "<!-- startMemberSections -->\n")
2293 m_emptySection=TRUE; // we postpone writing <table> until we actually
2294 // write a row to prevent empty tables, which
2295 // are not valid XHTML!
2296}

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

◆ startMemberSubtitle()

void HtmlGenerator::startMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2338 of file htmlgen.cpp.

2339{
2340 DBG_HTML(m_t << "<!-- startMemberSubtitle -->\n")
2341 if (m_emptySection)
2342 {
2343 m_t << "<table class=\"memberdecls\">\n";
2345 }
2346 m_t << "<tr><td class=\"ititle\" colspan=\"2\">";
2347}

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

◆ startMemberTemplateParams()

void HtmlGenerator::startMemberTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2218 of file htmlgen.cpp.

2219{
2220}

◆ startPageDoc()

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

Implements OutputGenIntf.

Definition at line 3222 of file htmlgen.cpp.

3223{
3224 m_t << "<div>";
3225}

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

1822{
1823 if (!classDef.isEmpty())
1824 m_t << "\n<p class=\"" << classDef << "\">";
1825 else
1826 m_t << "\n<p>";
1827}

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

◆ startParameterDefVal()

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

Implements OutputGenIntf.

Definition at line 2512 of file htmlgen.cpp.

2513{
2514 m_t << "<span class=\"paramdefsep\">";
2515 docify(s);
2516 m_t << "</span><span class=\"paramdefval\">";
2517}

References docify(), and OutputGenerator::m_t.

◆ startParameterExtra()

void HtmlGenerator::startParameterExtra ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2483 of file htmlgen.cpp.

2484{
2485 DBG_HTML(m_t << "<!-- startParameterExtra -->\n";)
2486}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterList()

void HtmlGenerator::startParameterList ( bool openBracket)
overridevirtual

Implements OutputGenIntf.

Definition at line 2440 of file htmlgen.cpp.

2441{
2442 DBG_HTML(m_t << "<!-- startParameterList -->\n";)
2443 m_t << " <td>";
2444 if (openBracket) m_t << "(";
2445 m_t << "</td>\n";
2446}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterName()

void HtmlGenerator::startParameterName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2471 of file htmlgen.cpp.

2472{
2473 DBG_HTML(m_t << "<!-- startParameterName -->\n";)
2474 m_t << " <td class=\"paramname\"><span class=\"paramname\"><em>";
2475}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterType()

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

Implements OutputGenIntf.

Definition at line 2448 of file htmlgen.cpp.

2449{
2450 if (first)
2451 {
2452 DBG_HTML(m_t << "<!-- startFirstParameterType -->\n";)
2453 m_t << " <td class=\"paramtype\">";
2454 }
2455 else
2456 {
2457 DBG_HTML(m_t << "<!-- startParameterType -->\n";)
2458 m_t << " <tr>\n";
2459 m_t << " <td class=\"paramkey\">" << key << "</td>\n";
2460 m_t << " <td></td>\n";
2461 m_t << " <td class=\"paramtype\">";
2462 }
2463}

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

1719{
1720 m_t << "<h3 class=\"version\">";
1721}

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

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

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

1929{
1930 m_t << "<a href=\"";
1931 QCString fn = f;
1933 m_t << createHtmlUrl(m_relPath,"",true,
1934 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1935 fn,
1936 anchor);
1937 m_t << "\">";
1938}
QCString createHtmlUrl(const QCString &relPath, const QCString &ref, bool href, bool isLocalFile, const QCString &targetFileName, const QCString &anchor)
Definition util.cpp:5760

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

◆ startTitle()

void HtmlGenerator::startTitle ( )
inlineprivate

Definition at line 340 of file htmlgen.h.

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

References OutputGenerator::m_t.

Referenced by startTitleHead().

◆ startTitleHead()

void HtmlGenerator::startTitleHead ( const QCString & )
overridevirtual

Implements OutputGenIntf.

Definition at line 3505 of file htmlgen.cpp.

3506{
3507 m_t << " <div class=\"headertitle\">";
3508 startTitle();
3509}
void startTitle()
Definition htmlgen.h:340

References OutputGenerator::m_t, and startTitle().

◆ startTocEntry()

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

Implements OutputGenIntf.

Definition at line 3761 of file htmlgen.cpp.

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

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

◆ startTypewriter()

void HtmlGenerator::startTypewriter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 163 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ type()

OutputType HtmlGenerator::type ( ) const
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 121 of file htmlgen.h.

121{ return OutputType::Html; }

References Html.

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

◆ writeAnchor()

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

Implements OutputGenIntf.

Definition at line 211 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ writeChar()

void HtmlGenerator::writeChar ( char c)
overridevirtual

Implements OutputGenIntf.

Definition at line 2055 of file htmlgen.cpp.

2056{
2057 char cs[2];
2058 cs[0]=c;
2059 cs[1]=0;
2060 docify(cs);
2061}

References docify().

◆ writeDoc()

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

Implements OutputGenIntf.

Definition at line 2787 of file htmlgen.cpp.

2788{
2789 const DocNodeAST *astImpl = dynamic_cast<const DocNodeAST*>(ast);
2790 if (astImpl && sectionLevel<=m_tocState.maxLevel)
2791 {
2792 m_codeList->setId(id);
2793 HtmlDocVisitor visitor(m_t,*m_codeList,ctx,fileName());
2794 std::visit(visitor,astImpl->root);
2795 }
2796}
DocNodeVariant root
Definition docnode.h:1496

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

◆ writeExternalSearchPage()

void HtmlGenerator::writeExternalSearchPage ( )
static

Definition at line 3337 of file htmlgen.cpp.

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

1709{
1711}

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

◆ writeFooterFile()

void HtmlGenerator::writeFooterFile ( TextStream & t)
static

Definition at line 1595 of file htmlgen.cpp.

1596{
1597 t << "<!-- HTML footer for doxygen " << getDoxygenVersion() << "-->\n";
1598 t << ResourceMgr::instance().getAsString("footer.html");
1599}

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

Referenced by readConfiguration().

◆ writeGraphicalHierarchy()

void HtmlGenerator::writeGraphicalHierarchy ( DotGfxHierarchyTable & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2667 of file htmlgen.cpp.

2668{
2669 g.writeGraph(m_t,dir(),fileName());
2670}
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 1589 of file htmlgen.cpp.

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

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

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

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

◆ writeLabel()

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

Implements OutputGenIntf.

Definition at line 3606 of file htmlgen.cpp.

3607{
3608 DBG_HTML(m_t << "<!-- writeLabel(" << label << ") -->\n";)
3609
3610 auto convertLabelToClass = [](const std::string &lab) {
3611 QCString input = convertUTF8ToLower(lab);
3612 QCString result;
3613 size_t l=input.length();
3614 result.reserve(l);
3615
3616 // Create valid class selector, see 10.2 here https://www.w3.org/TR/selectors-3/#w3cselgrammar
3617 // ident [-]?{nmstart}{nmchar}*
3618 // nmstart [_a-z]|{nonascii}
3619 // nonascii [^\0-\177]
3620 // nmchar [_a-z0-9-]|{nonascii}
3621
3622 bool nmstart=false;
3623 for (size_t i=0; i<l; i++)
3624 {
3625 char c = input.at(i);
3626 if (c<0 || (c>='a' && c<='z') || c=='_') // nmstart pattern
3627 {
3628 nmstart=true;
3629 result+=c;
3630 }
3631 else if (nmstart && (c<0 || (c>='a' && c<='z') || (c>='0' && c<='9') || c=='_')) // nmchar pattern
3632 {
3633 result+=c;
3634 }
3635 else if (nmstart && (c==' ' || c=='-')) // show whitespace as -
3636 {
3637 result+='-';
3638 }
3639 }
3640 return result;
3641 };
3642
3643 m_t << "<span class=\"mlabel " << convertLabelToClass(label.stripWhiteSpace().str()) << "\">" << label << "</span>";
3644}
size_t length() const
Returns the length of the string, not counting the 0-terminator.
Definition qcstring.h:170
char & at(size_t i)
Returns a reference to the character at index i.
Definition qcstring.h:597
void reserve(size_t size)
Reserve space for size bytes without changing the string contents.
Definition qcstring.h:189
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 1697 of file htmlgen.cpp.

1698{
1700}
static QCString writeLogoAsString(const QCString &path)
Definition htmlgen.cpp:1675

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

◆ writeLogoAsString()

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

Definition at line 1675 of file htmlgen.cpp.

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

3208{
3209 m_t << substitute(s,"$relpath^",m_relPath);
3210}

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

◆ writeNonBreakableSpace()

void HtmlGenerator::writeNonBreakableSpace ( int n)
overridevirtual

Implements OutputGenIntf.

Definition at line 2717 of file htmlgen.cpp.

2718{
2719 for (int i=0; i<n; i++)
2720 {
2721 m_t << "&#160;";
2722 }
2723}

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

1906{
1907 if (!ref.isEmpty())
1908 {
1909 m_t << "<a class=\"elRef\" ";
1911 }
1912 else
1913 {
1914 m_t << "<a class=\"el\" ";
1915 }
1916 m_t << "href=\"";
1917 QCString fn = f;
1919 m_t << createHtmlUrl(m_relPath,ref,true,
1920 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1921 fn,
1922 anchor);
1923 m_t << "\">";
1924 docify(name);
1925 m_t << "</a>";
1926}

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

1704{
1705 t << substituteHtmlKeywords(g_footer_file,g_footer,convertToHtml(lastTitle),relPath,navPath);
1706}

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

3719{
3720 m_t << "<div id=\"page-nav\" class=\"page-nav-panel\">\n";
3721 m_t << "<div id=\"page-nav-resize-handle\"></div>\n";
3722 m_t << "<div id=\"page-nav-tree\">\n";
3723 m_t << "<div id=\"page-nav-contents\">\n";
3724 m_t << "</div><!-- page-nav-contents -->\n";
3725 m_t << "</div><!-- page-nav-tree -->\n";
3726 m_t << "</div><!-- page-nav -->\n";
3727}

References OutputGenerator::m_t.

◆ writeQuickLinks()

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

Implements OutputGenIntf.

Definition at line 3232 of file htmlgen.cpp.

3233{
3234 writeDefaultQuickLinks(m_t,hli,file,m_relPath,extraTabs);
3235}

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

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

1670{
1672}
static void writeSearchInfoStatic(TextStream &t, const QCString &relPath)
Definition htmlgen.cpp:1642

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

◆ writeSearchInfoStatic()

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

Definition at line 1642 of file htmlgen.cpp.

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

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

3203{
3204 m_t << writeSplitBarAsString(name,m_relPath,allMembersFile);
3205}

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

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

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

1894{
1895 m_t << "<li>";
1896 if (!path.isEmpty()) docify(path);
1897 QCString fn = f;
1899 m_t << "<a class=\"el\" href=\"" << fn << "\">";
1900 docify(name);
1901 m_t << "</a> ";
1902}

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

◆ writeString()

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

Implements OutputGenIntf.

Definition at line 1834 of file htmlgen.cpp.

1835{
1836 m_t << text;
1837}

References OutputGenerator::m_t.

◆ writeStyleInfo()

void HtmlGenerator::writeStyleInfo ( int part)
overridevirtual

Implements OutputGenIntf.

Definition at line 1728 of file htmlgen.cpp.

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

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

1584{
1587}

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

3692{
3693 if (first)
3694 {
3695 m_t << " <div class=\"summary\">\n";
3696 }
3697 else
3698 {
3699 m_t << " &#124;\n";
3700 }
3701 m_t << "<a href=\"";
3702 if (!file.isEmpty())
3703 {
3704 QCString fn = file;
3706 m_t << m_relPath << fn;
3707 }
3708 else if (!anchor.isEmpty())
3709 {
3710 m_t << "#";
3711 m_t << anchor;
3712 }
3713 m_t << "\">";
3714 m_t << title;
3715 m_t << "</a>";
3716}

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

1413{
1415 QCString dname=Config_getString(HTML_OUTPUT);
1416 ResourceMgr &mgr = ResourceMgr::instance();
1417 mgr.copyResource("doxygen.svg",dname);
1418 Doxygen::indexList->addImageFile("doxygen.svg");
1419}
void addImageFile(const QCString &name)
Definition indexlist.h:123

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

Referenced by generateOutput().

Member Data Documentation

◆ m_codeGen

HtmlCodeGenerator* HtmlGenerator::m_codeGen = nullptr
private

Definition at line 351 of file htmlgen.h.

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

◆ m_codeList

std::unique_ptr<OutputCodeList> HtmlGenerator::m_codeList
private

Definition at line 350 of file htmlgen.h.

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

◆ m_emptySection

◆ m_lastFile

QCString HtmlGenerator::m_lastFile
private

Definition at line 346 of file htmlgen.h.

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

◆ m_lastTitle

QCString HtmlGenerator::m_lastTitle
private

Definition at line 345 of file htmlgen.h.

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

◆ m_pageOutlineIndent

int HtmlGenerator::m_pageOutlineIndent = 0
private

Definition at line 352 of file htmlgen.h.

◆ m_relPath

◆ m_sectionCount

◆ m_tocState

TocState HtmlGenerator::m_tocState
private

Definition at line 364 of file htmlgen.h.

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


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