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

Generator for HTML output. More...

#include <src/htmlgen.h>

Inheritance diagram for HtmlGenerator:
Collaboration diagram for HtmlGenerator:

Classes

struct  TocState

Public Member Functions

 HtmlGenerator ()
 HtmlGenerator (const HtmlGenerator &)
HtmlGeneratoroperator= (const HtmlGenerator &)
 HtmlGenerator (HtmlGenerator &&)=delete
HtmlGeneratoroperator= (HtmlGenerator &&)=delete
 ~HtmlGenerator ()
void clearBuffer ()
OutputType type () const override
std::unique_ptr< OutputGenIntfclone () override
void addCodeGen (OutputCodeList &list) override
void cleanup () override
void writeDoc (const IDocNodeAST *node, const Definition *, const MemberDef *, int id, int sectionLevel) override
void startFile (const QCString &name, bool isSource, const QCString &manName, const QCString &title, int id, int hierarchyLevel) override
void endFile () override
void writeFooter (const QCString &navPath) override
void writeSearchInfo () override
void startIndexSection (IndexSection) override
void endIndexSection (IndexSection) override
void writePageLink (const QCString &, bool) override
void startProjectNumber () override
void endProjectNumber () override
void writeStyleInfo (int part) override
void startTitleHead (const QCString &) override
void endTitleHead (const QCString &, const QCString &) override
void startParagraph (const QCString &classDef) override
void endParagraph () override
void writeString (const QCString &text) override
void startIndexListItem () override
void endIndexListItem () override
void startIndexList () override
void endIndexList () override
void startIndexKey () override
void endIndexKey () override
void startIndexValue (bool) override
void endIndexValue (const QCString &, bool) override
void startItemList () override
void endItemList () override
void startIndexItem (const QCString &ref, const QCString &file) override
void endIndexItem (const QCString &ref, const QCString &file) override
void docify (const QCString &text) override
void writeObjectLink (const QCString &ref, const QCString &file, const QCString &anchor, const QCString &name) override
void startTextLink (const QCString &file, const QCString &anchor) override
void endTextLink () override
void startTypewriter () override
void endTypewriter () override
void startGroupHeader (const QCString &, int) override
void endGroupHeader (int) override
void startItemListItem () override
void endItemListItem () override
void startMemberSections () override
void endMemberSections () override
void startHeaderSection () override
void endHeaderSection () override
void startMemberHeader (const QCString &, int) override
void endMemberHeader () override
void startMemberSubtitle () override
void endMemberSubtitle () override
void startMemberDocList () override
void endMemberDocList () override
void startMemberList () override
void endMemberList () override
void startInlineHeader () override
void endInlineHeader () override
void startAnonTypeScope (int) override
void endAnonTypeScope (int) override
void startMemberItem (const QCString &anchor, MemberItemType, const QCString &inheritId) override
void endMemberItem (MemberItemType) override
void startMemberTemplateParams () override
void endMemberTemplateParams (const QCString &anchor, const QCString &inheritId) override
void startCompoundTemplateParams () override
void endCompoundTemplateParams () override
void startMemberGroupHeader (const QCString &, bool) override
void endMemberGroupHeader (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 1214 of file htmlgen.cpp.

1215 : OutputGenerator(Config_getString(HTML_OUTPUT))
1216 , m_codeList(std::make_unique<OutputCodeList>())
1217{
1218 //printf("%p:HtmlGenerator()\n",(void*)this);
1219 m_codeGen = m_codeList->add<HtmlCodeGenerator>(&m_t);
1220}
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 1222 of file htmlgen.cpp.

1222 : OutputGenerator(og.m_dir), OutputGenIntf()
1223{
1224 //printf("%p:HtmlGenerator(copy %p)\n",(void*)this,(void*)&og);
1225 m_codeList = std::make_unique<OutputCodeList>(*og.m_codeList);
1226 m_codeGen = m_codeList->get<HtmlCodeGenerator>(OutputType::Html);
1227 m_codeGen->setTextStream(&m_t);
1230 m_relPath = og.m_relPath;
1233}
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 1255 of file htmlgen.cpp.

1256{
1258}
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 2736 of file htmlgen.cpp.

2737{
2738}

◆ addLabel()

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

Implements OutputGenIntf.

Definition at line 1836 of file htmlgen.cpp.

1837{
1838}

◆ cleanup()

void HtmlGenerator::cleanup ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1421 of file htmlgen.cpp.

1422{
1423 QCString dname = Config_getString(HTML_OUTPUT);
1424 Dir d(dname.str());
1425 clearSubDirs(d);
1426}
const std::string & str() const
Definition qcstring.h:552
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 2032 of file htmlgen.cpp.

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

2038{
2039 if (!str.isEmpty())
2040 {
2041 const char *p=str.data();
2042 while (*p)
2043 {
2044 char c=*p++;
2045 switch(c)
2046 {
2047 case '<': m_t << "&lt;"; break;
2048 case '>': m_t << "&gt;"; break;
2049 case '&': m_t << "&amp;"; break;
2050 case '"': m_t << "&quot;"; break;
2051 case '-': if (inHtmlComment) m_t << "&#45;"; else m_t << "-"; break;
2052 case '\\':
2053 if (*p=='<')
2054 { m_t << "&lt;"; p++; }
2055 else if (*p=='>')
2056 { m_t << "&gt;"; p++; }
2057 else if (*p=='[')
2058 { m_t << "\\&zwj;["; p++; }
2059 else if (*p==']')
2060 { m_t << "\\&zwj;]"; p++; }
2061 else if (*p=='(')
2062 { m_t << "\\&zwj;("; p++; }
2063 else if (*p==')')
2064 { m_t << "\\&zwj;)"; p++; }
2065 else
2066 m_t << "\\";
2067 break;
2068 default: m_t << c;
2069 }
2070 }
2071 }
2072}

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

2660{
2665
2667
2670}
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:2131
static void startSectionSummary(TextStream &t, int sectionCount)
Definition htmlgen.cpp:2109
static void endSectionContent(TextStream &t)
Definition htmlgen.cpp:2147
static void endSectionHeader(TextStream &t)
Definition htmlgen.cpp:2103
static void endSectionSummary(TextStream &t)
Definition htmlgen.cpp:2121
#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 2160 of file htmlgen.cpp.

2162{
2167 TextStream tt;
2168 d.writeImage(tt,dir(),m_relPath,fileName,true,true);
2169 if (!tt.empty())
2170 {
2171 m_t << " <div class=\"center\">\n";
2172 m_t << " <img src=\"";
2173 m_t << m_relPath << fileName << ".png\" usemap=\"#" << convertToId(name);
2174 m_t << "_map\" alt=\"\"/>\n";
2175 m_t << " <map id=\"" << convertToId(name);
2176 m_t << "_map\" name=\"" << convertToId(name);
2177 m_t << "_map\">\n";
2178 m_t << tt.str();
2179 m_t << " </map>\n";
2180 m_t << "</div>";
2181 }
2182 else
2183 {
2184 m_t << " <div class=\"center\">\n";
2185 m_t << " <img src=\"";
2186 m_t << m_relPath << fileName << ".png\" alt=\"\"/>\n";
2187 m_t << " </div>";
2188 }
2191}
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 2263 of file htmlgen.cpp.

2264{
2265 m_t << "</div>";
2266}

References OutputGenerator::m_t.

◆ endConstraintDocs()

void HtmlGenerator::endConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3506 of file htmlgen.cpp.

3507{
3508 m_t << "</td></tr>\n";
3509}

References OutputGenerator::m_t.

◆ endConstraintList()

void HtmlGenerator::endConstraintList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3511 of file htmlgen.cpp.

3512{
3513 m_t << "</table>\n";
3514 m_t << "</dd>\n";
3515 m_t << "</dl>\n";
3516 m_t << "</div>\n";
3517}

References OutputGenerator::m_t.

◆ endConstraintParam()

void HtmlGenerator::endConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3486 of file htmlgen.cpp.

3487{
3488 m_t << "</em></td>";
3489}

References OutputGenerator::m_t.

◆ endConstraintType()

void HtmlGenerator::endConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3496 of file htmlgen.cpp.

3497{
3498 m_t << "</em></td>";
3499}

References OutputGenerator::m_t.

◆ endContents()

void HtmlGenerator::endContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3248 of file htmlgen.cpp.

3249{
3250 m_t << "</div><!-- contents -->\n";
3251}

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

2754{
2755 m_t << "</table>\n";
2756}

References OutputGenerator::m_t.

◆ endDescTableData()

void HtmlGenerator::endDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2793 of file htmlgen.cpp.

2794{
2795 m_t << "</td>";
2796}

References OutputGenerator::m_t.

◆ endDescTableInit()

void HtmlGenerator::endDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2783 of file htmlgen.cpp.

2784{
2785 m_t << "&#160;</td>";
2786}

References OutputGenerator::m_t.

◆ endDescTableRow()

void HtmlGenerator::endDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2763 of file htmlgen.cpp.

2764{
2765 m_t << "</tr>\n";
2766}

References OutputGenerator::m_t.

◆ endDescTableTitle()

void HtmlGenerator::endDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2773 of file htmlgen.cpp.

2774{
2775 m_t << "&#160;</td>";
2776}

References OutputGenerator::m_t.

◆ endDirDepGraph()

void HtmlGenerator::endDirDepGraph ( DotDirDeps & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2677 of file htmlgen.cpp.

2678{
2683
2685
2688}
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 2589 of file htmlgen.cpp.

2590{
2591 bool generateLegend = Config_getBool(GENERATE_LEGEND);
2592 bool umlLook = Config_getBool(UML_LOOK);
2597
2599 if (generateLegend && !umlLook)
2600 {
2601 QCString url = m_relPath+"graph_legend"+Doxygen::htmlFileExtension;
2602 m_t << "<center><span class=\"legend\">[";
2603 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
2604 m_t << "<a ";
2605 if (generateTreeView) m_t << "target=\"top\" ";
2606 m_t << "href=\"";
2607 if (!url.isEmpty()) m_t << url;
2608 m_t << "\">";
2610 m_t << "</a>";
2611 m_t << "]</span></center>";
2612 }
2613
2616}
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:163
virtual QCString trLegend()=0
#define Config_getBool(name)
Definition config.h:33
Translator * theTranslator
Definition language.cpp:71

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

◆ endDoxyAnchor()

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

Implements OutputGenIntf.

Definition at line 1832 of file htmlgen.cpp.

1833{
1834}

◆ endEmbeddedDoc()

void HtmlGenerator::endEmbeddedDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3625 of file htmlgen.cpp.

3626{
3627 DBG_HTML(m_t << "<!-- endEmbeddedDoc -->\n";)
3628 m_t << "</div>";
3629}
#define DBG_HTML(x)
Definition htmlgen.cpp:61

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

2806{
2807 m_t << "</dl>\n";
2808}

References OutputGenerator::m_t.

◆ endFile()

void HtmlGenerator::endFile ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1733 of file htmlgen.cpp.

1734{
1735 endPlainFile();
1736}
void endPlainFile() override
Definition htmlgen.h:334

References endPlainFile().

◆ endGroupCollaboration()

void HtmlGenerator::endGroupCollaboration ( DotGroupCollaboration & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2641 of file htmlgen.cpp.

2642{
2647
2649
2652}
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 1985 of file htmlgen.cpp.

1986{
1987 if (extraIndentLevel==2)
1988 {
1989 m_t << "</h4>\n";
1990 }
1991 else if (extraIndentLevel==1)
1992 {
1993 m_t << "</h3>\n";
1994 }
1995 else
1996 {
1997 m_t << "</h2>\n";
1998 }
1999}

References OutputGenerator::m_t.

◆ endHeaderSection()

void HtmlGenerator::endHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3548 of file htmlgen.cpp.

3549{
3550 m_t << "</div><!--header-->\n";
3551}

References OutputGenerator::m_t.

◆ endInclDepGraph()

void HtmlGenerator::endInclDepGraph ( DotInclDepGraph & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2623 of file htmlgen.cpp.

2624{
2629
2631
2634}
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 2730 of file htmlgen.cpp.

2731{
2732 DBG_HTML(m_t << "<!-- endIndent -->\n";)
2733 m_t << "\n</div>\n" << "</div>\n";
2734}

References DBG_HTML, and OutputGenerator::m_t.

◆ endIndexItem()

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

Implements OutputGenIntf.

Definition at line 1898 of file htmlgen.cpp.

1899{
1900 //printf("HtmlGenerator::endIndexItem(%s,%s,%s)\n",ref,f,name);
1901 if (!ref.isEmpty() || !f.isEmpty())
1902 {
1903 m_t << "</a>";
1904 }
1905 else
1906 {
1907 m_t << "</b>";
1908 }
1909}

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

◆ endIndexKey()

void HtmlGenerator::endIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2393 of file htmlgen.cpp.

2394{
2395 //m_t << "</td>";
2396}

◆ endIndexList()

void HtmlGenerator::endIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2383 of file htmlgen.cpp.

2384{
2385 m_t << "</table>\n";
2386}

References OutputGenerator::m_t.

◆ endIndexListItem()

void HtmlGenerator::endIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1863 of file htmlgen.cpp.

1864{
1865 m_t << "</li>\n";
1866}

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

2404{
2405 //m_t << "</td></tr>\n";
2406}

◆ endInlineHeader()

void HtmlGenerator::endInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3563 of file htmlgen.cpp.

3564{
3565 m_t << "</h3></td></tr>\n";
3566}

References OutputGenerator::m_t.

◆ endInlineMemberDoc()

void HtmlGenerator::endInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3613 of file htmlgen.cpp.

3614{
3615 DBG_HTML(m_t << "<!-- endInlineMemberDoc -->\n";)
3616 m_t << "</td></tr>\n";
3617}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberName()

void HtmlGenerator::endInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3601 of file htmlgen.cpp.

3602{
3603 DBG_HTML(m_t << "<!-- endInlineMemberName -->\n";)
3604 m_t << "</td>\n";
3605}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberType()

void HtmlGenerator::endInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3589 of file htmlgen.cpp.

3590{
3591 DBG_HTML(m_t << "<!-- endInlineMemberType -->\n";)
3592 m_t << "</td>\n";
3593}

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

3678{
3679 DBG_HTML(m_t << "<!-- endLabels -->\n";)
3680 m_t << "</span>";
3681}

References DBG_HTML, and OutputGenerator::m_t.

◆ endLocalToc()

void HtmlGenerator::endLocalToc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3780 of file htmlgen.cpp.

3781{
3782 if (m_tocState.level > m_tocState.maxLevel) m_tocState.level = m_tocState.maxLevel;
3783 while (m_tocState.level>0)
3784 {
3785 m_tocState.decIndent(m_t,"</li>");
3786 m_tocState.decIndent(m_t,"</ul>");
3787 m_tocState.level--;
3788 }
3789 m_t << "</div>\n";
3790}
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 3760 of file htmlgen.cpp.

3761{
3762}

◆ endMemberDescription()

void HtmlGenerator::endMemberDescription ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2307 of file htmlgen.cpp.

2308{
2309 DBG_HTML(m_t << "<!-- endMemberDescription -->\n")
2310 m_t << "<br /></td></tr>\n";
2311}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDoc()

void HtmlGenerator::endMemberDoc ( bool hasArgs)
overridevirtual

Implements OutputGenIntf.

Definition at line 2573 of file htmlgen.cpp.

2574{
2575 DBG_HTML(m_t << "<!-- endMemberDoc -->\n";)
2576 if (!hasArgs)
2577 {
2578 m_t << " </tr>\n";
2579 }
2580 m_t << " </table>\n";
2581 // m_t << "</div>\n";
2582}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocList()

void HtmlGenerator::endMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2413 of file htmlgen.cpp.

2414{
2415 DBG_HTML(m_t << "<!-- endMemberDocList -->\n";)
2416}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocName()

void HtmlGenerator::endMemberDocName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2457 of file htmlgen.cpp.

2458{
2459 DBG_HTML(m_t << "<!-- endMemberDocName -->\n";)
2460 m_t << "</td>\n";
2461}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocPrefixItem()

void HtmlGenerator::endMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2441 of file htmlgen.cpp.

2442{
2443 DBG_HTML(m_t << "<!-- endMemberDocPrefixItem -->\n";)
2444 m_t << "</div>\n";
2445}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocSimple()

void HtmlGenerator::endMemberDocSimple ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 3577 of file htmlgen.cpp.

3578{
3579 DBG_HTML(m_t << "<!-- endMemberDocSimple -->\n";)
3580 m_t << "</table>\n";
3581}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberGroup()

void HtmlGenerator::endMemberGroup ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2719 of file htmlgen.cpp.

2720{
2721}

◆ endMemberGroupDocs()

void HtmlGenerator::endMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2710 of file htmlgen.cpp.

2711{
2712 m_t << "</div></td></tr>\n";
2713}

References OutputGenerator::m_t.

◆ endMemberGroupHeader()

void HtmlGenerator::endMemberGroupHeader ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2700 of file htmlgen.cpp.

2701{
2702 m_t << "</div></td></tr>\n";
2703}

References OutputGenerator::m_t.

◆ endMemberHeader()

void HtmlGenerator::endMemberHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2355 of file htmlgen.cpp.

2356{
2357 DBG_HTML(m_t << "<!-- endMemberHeader -->\n")
2358 m_t << "</h2></td></tr>\n";
2359}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberItem()

void HtmlGenerator::endMemberItem ( MemberItemType type)
overridevirtual

Implements OutputGenIntf.

Definition at line 2232 of file htmlgen.cpp.

2233{
2235 {
2236 insertMemberAlign(false);
2237 }
2238 m_t << "</td></tr>\n";
2239}
OutputType type() const override
Definition htmlgen.h:121
void insertMemberAlign(bool) override
Definition htmlgen.cpp:2268

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

◆ endMemberList()

void HtmlGenerator::endMemberList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2199 of file htmlgen.cpp.

2200{
2201 DBG_HTML(m_t << "<!-- endMemberList -->\n")
2202}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberSections()

void HtmlGenerator::endMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2321 of file htmlgen.cpp.

2322{
2323 DBG_HTML(m_t << "<!-- endMemberSections -->\n")
2324 if (!m_emptySection)
2325 {
2326 m_t << "</table>\n";
2327 }
2328}

References DBG_HTML, m_emptySection, and OutputGenerator::m_t.

◆ endMemberSubtitle()

void HtmlGenerator::endMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2372 of file htmlgen.cpp.

2373{
2374 DBG_HTML(m_t << "<!-- endMemberSubtitle -->\n")
2375 m_t << "</td></tr>\n";
2376}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberTemplateParams()

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

Implements OutputGenIntf.

Definition at line 2245 of file htmlgen.cpp.

2246{
2247 bool dynamicSections = Config_getBool(HTML_DYNAMIC_SECTIONS);
2248 m_t << "</td></tr>\n";
2249 m_t << "<tr class=\"memitem:" << convertToId(anchor);
2250 if (!inheritId.isEmpty())
2251 {
2252 if (dynamicSections) m_t << " inherit";
2253 m_t << " " << inheritId;
2254 }
2255 m_t << " template\"><td class=\"memItemLeft\">";
2256}

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

◆ endPageDoc()

void HtmlGenerator::endPageDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3258 of file htmlgen.cpp.

3259{
3260 m_t << "</div><!-- PageDoc -->\n";
3261}

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

1849{
1850 m_t << "</p>\n";
1851}

References OutputGenerator::m_t.

◆ endParameterDefVal()

void HtmlGenerator::endParameterDefVal ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2542 of file htmlgen.cpp.

2543{
2544 m_t << "</span>";
2545}

References OutputGenerator::m_t.

◆ endParameterExtra()

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

Implements OutputGenIntf.

Definition at line 2511 of file htmlgen.cpp.

2512{
2513 DBG_HTML(m_t << "<!-- endParameterExtra -->\n";)
2514 if (last)
2515 {
2516 if (emptyList)
2517 {
2518 if (closeBracket) m_t << "</td><td>)";
2519 m_t << "</td>\n";
2520 m_t << " <td>";
2521 }
2522 else
2523 {
2524 m_t << "&#160;";
2525 if (closeBracket) m_t << ")";
2526 }
2527 }
2528 else
2529 {
2530 m_t << "</td>\n";
2531 m_t << " </tr>\n";
2532 }
2533}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterList()

void HtmlGenerator::endParameterList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2547 of file htmlgen.cpp.

2548{
2549 DBG_HTML(m_t << "<!-- endParameterList -->\n";)
2550 m_t << "</td>\n";
2551 m_t << " </tr>\n";
2552}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterName()

void HtmlGenerator::endParameterName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2500 of file htmlgen.cpp.

2501{
2502 DBG_HTML(m_t << "<!-- endParameterName -->\n";)
2503 m_t << "</em></span>";
2504}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterType()

void HtmlGenerator::endParameterType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2488 of file htmlgen.cpp.

2489{
2490 DBG_HTML(m_t << "<!-- endParameterType -->\n";)
2491 m_t << "</td>";
2492}

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

1744{
1745 m_t << "</h3>";
1746}

References OutputGenerator::m_t.

◆ endQuickIndices()

void HtmlGenerator::endQuickIndices ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3188 of file htmlgen.cpp.

3189{
3190 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3191 m_t << "</div><!-- top -->\n";
3192 if (!generateTreeView)
3193 {
3194 m_t << "<div id=\"doc-content\">\n";
3195 }
3196}

References Config_getBool, and OutputGenerator::m_t.

◆ endSection()

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

Implements OutputGenIntf.

Definition at line 2017 of file htmlgen.cpp.

2018{
2019 switch(type.level())
2020 {
2021 case SectionType::Page: m_t << "</h1>"; break;
2022 case SectionType::Section: m_t << "</h2>"; break;
2023 case SectionType::Subsection: m_t << "</h3>"; break;
2024 case SectionType::Subsubsection: m_t << "</h4>"; break;
2025 case SectionType::Paragraph: m_t << "</h5>"; break;
2026 case SectionType::Subparagraph: m_t << "</h6>"; break;
2027 case SectionType::Subsubparagraph: m_t << "</h6>"; break;
2028 default: ASSERT(0); break;
2029 }
2030}
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 1959 of file htmlgen.cpp.

1960{
1961 m_t << "</a>";
1962}

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

3543{
3544 endTitle();
3545 m_t << "</div>\n";
3546}
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 3836 of file htmlgen.cpp.

3837{
3838 SectionType type = si->type();
3839 int nextLevel = type.level();
3840 if (type.isSection() && nextLevel<=m_tocState.maxLevel)
3841 {
3842 m_t << "</a>\n";
3843 m_tocState.inLi[nextLevel]=true;
3844 m_tocState.level = nextLevel;
3845 }
3846}
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 2554 of file htmlgen.cpp.

2555{
2556 DBG_HTML(m_t << "<!-- exceptionEntry -->\n";)
2557 if (!closeBracket)
2558 {
2559 m_t << "</td>\n";
2560 m_t << " </tr>\n";
2561 m_t << " <tr>\n";
2562 m_t << " <td align=\"right\">";
2563 }
2564 // colspan 2 so it gets both parameter type and parameter name columns
2565 if (!prefix.isEmpty())
2566 m_t << prefix << "</td><td>(</td><td colspan=\"2\">";
2567 else if (closeBracket)
2568 m_t << "&#160;)</td><td></td><td></td><td>";
2569 else
2570 m_t << "</td><td></td><td colspan=\"2\">";
2571}
constexpr auto prefix
Definition anchor.cpp:44

References DBG_HTML, OutputGenerator::m_t, and prefix.

◆ getNavTreeCss()

QCString HtmlGenerator::getNavTreeCss ( )
static

Definition at line 3764 of file htmlgen.cpp.

3765{
3766 ResourceMgr &mgr = ResourceMgr::instance();
3767 return replaceVariables(mgr.getAsString("navtree.css"));
3768}
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:772

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

Referenced by init().

◆ init()

void HtmlGenerator::init ( )
static

Definition at line 1269 of file htmlgen.cpp.

1270{
1271 QCString dname = Config_getString(HTML_OUTPUT);
1272 Dir d(dname.str());
1273 if (!d.exists() && !d.mkdir(dname.str()))
1274 {
1275 term("Could not create output directory {}\n",dname);
1276 }
1277 //writeLogo(dname);
1278 if (!Config_getString(HTML_HEADER).isEmpty())
1279 {
1280 g_header_file=Config_getString(HTML_HEADER);
1283 //printf("g_header='%s'\n",qPrint(g_header));
1284 QCString result = substituteHtmlKeywords(g_header_file,g_header,QCString(),QCString());
1285 checkBlocks(result,Config_getString(HTML_HEADER),htmlMarkerInfo);
1286 }
1287 else
1288 {
1289 g_header_file="header.html";
1292 QCString result = substituteHtmlKeywords(g_header_file,g_header,QCString(),QCString());
1293 checkBlocks(result,"<default header.html>",htmlMarkerInfo);
1294 }
1295
1296 if (!Config_getString(HTML_FOOTER).isEmpty())
1297 {
1298 g_footer_file=Config_getString(HTML_FOOTER);
1301 //printf("g_footer='%s'\n",qPrint(g_footer));
1302 QCString result = substituteHtmlKeywords(g_footer_file,g_footer,QCString(),QCString());
1303 checkBlocks(result,Config_getString(HTML_FOOTER),htmlMarkerInfo);
1304 }
1305 else
1306 {
1307 g_footer_file = "footer.html";
1310 QCString result = substituteHtmlKeywords(g_footer_file,g_footer,QCString(),QCString());
1311 checkBlocks(result,"<default footer.html>",htmlMarkerInfo);
1312 }
1313
1314 if (Config_getBool(USE_MATHJAX))
1315 {
1316 if (!Config_getString(MATHJAX_CODEFILE).isEmpty())
1317 {
1318 g_mathjax_code=fileToString(Config_getString(MATHJAX_CODEFILE));
1319 //printf("g_mathjax_code='%s'\n",qPrint(g_mathjax_code));
1320 }
1322 //printf("converted g_latex_macro='%s'\n",qPrint(g_latex_macro));
1323 }
1324 createSubDirs(d);
1325
1327
1328 ResourceMgr &mgr = ResourceMgr::instance();
1329
1330 {
1331 QCString tabsCss;
1332 if (Config_getBool(HTML_DYNAMIC_MENUS))
1333 {
1334 tabsCss = mgr.getAsString("tabs.css");
1335 }
1336 else // stylesheet for the 'old' static tabs
1337 {
1338 tabsCss = mgr.getAsString("fixed_tabs.css");
1339 }
1340
1341 std::ofstream f = Portable::openOutputStream(dname+"/tabs.css");
1342 if (f.is_open())
1343 {
1344 TextStream t(&f);
1345 t << replaceVariables(tabsCss);
1346 }
1347 }
1348
1349
1350 if (Config_getBool(INTERACTIVE_SVG))
1351 {
1352 mgr.copyResource("svg.min.js",dname);
1353 }
1354
1355 if (!Config_getBool(DISABLE_INDEX) && Config_getBool(HTML_DYNAMIC_MENUS))
1356 {
1357 mgr.copyResource("menu.js",dname);
1358 }
1359
1360 // copy navtree.css
1361 {
1362 std::ofstream f = Portable::openOutputStream(dname+"/navtree.css");
1363 if (f.is_open())
1364 {
1365 TextStream t(&f);
1366 t << getNavTreeCss();
1367 }
1368 }
1369
1370 if (Config_getBool(HTML_COPY_CLIPBOARD))
1371 {
1372 std::ofstream f = Portable::openOutputStream(dname+"/clipboard.js");
1373 if (f.is_open())
1374 {
1375 TextStream t(&f);
1376 t << substitute(mgr.getAsString("clipboard.js"),"$copy_to_clipboard_text",theTranslator->trCopyToClipboard());
1377 }
1378 }
1379
1380 bool hasCookie = Config_getBool(GENERATE_TREEVIEW) || Config_getBool(SEARCHENGINE) || Config_getEnum(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE;
1381 if (hasCookie)
1382 {
1383 mgr.copyResource("cookie.js",dname);
1384 }
1385
1386 if (Config_getBool(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE)
1387 {
1388 std::ofstream f = Portable::openOutputStream(dname+"/darkmode_toggle.js");
1389 if (f.is_open())
1390 {
1391 TextStream t(&f);
1392 t << substitute(replaceColorMarkers(mgr.getAsString("darkmode_toggle.js")),
1393 "$PROJECTID",getProjectId());
1394 }
1395 }
1396
1397 if (Config_getBool(HTML_DYNAMIC_SECTIONS))
1398 {
1399 std::ofstream f = Portable::openOutputStream(dname+"/dynsections.js");
1400 if (f.is_open())
1401 {
1402 TextStream t(&f);
1403 t << replaceVariables(mgr.getAsString("dynsections.js"));
1404 if (Config_getBool(SOURCE_BROWSER) && Config_getBool(SOURCE_TOOLTIPS))
1405 {
1406 t << replaceVariables(mgr.getAsString("dynsections_tooltips.js"));
1407 }
1408 }
1409 }
1410 if (Config_getBool(HTML_CODE_FOLDING))
1411 {
1412 std::ofstream f = Portable::openOutputStream(dname+"/codefolding.js");
1413 if (f.is_open())
1414 {
1415 TextStream t(&f);
1416 t << replaceVariables(mgr.getAsString("codefolding.js"));
1417 }
1418 }
1419}
static QCString getNavTreeCss()
Definition htmlgen.cpp:3764
bool copyResource(const QCString &name, const QCString &targetDir) const
Copies a registered resource to a given target directory.
virtual QCString trCopyToClipboard()=0
#define Config_getEnum(name)
Definition config.h:35
static bool g_build_date
Definition htmlgen.cpp:69
static QCString g_header
Definition htmlgen.cpp:63
static QCString g_header_file
Definition htmlgen.cpp:64
static QCString g_mathjax_code
Definition htmlgen.cpp:67
static QCString g_footer
Definition htmlgen.cpp:66
static const SelectionMarkerInfo htmlMarkerInfo
Definition htmlgen.cpp:72
static QCString getConvertLatexMacro()
Convert a set of LaTeX commands \‍(re)newcommand to a form readable by MathJax LaTeX syntax:
Definition htmlgen.cpp:149
static QCString g_footer_file
Definition htmlgen.cpp:65
static bool hasDateReplacement(const QCString &str)
Definition htmlgen.cpp:1260
static QCString g_latex_macro
Definition htmlgen.cpp:68
static void fillColorStyleMaps()
Definition htmlgen.cpp:758
static QCString substituteHtmlKeywords(const QCString &file, const QCString &str, const QCString &title, const QCString &relPath, const QCString &navPath=QCString(), bool isSource=false)
Definition htmlgen.cpp:314
#define term(fmt,...)
Definition message.h:137
std::ofstream openOutputStream(const QCString &name, bool append=false)
Definition portable.cpp: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:6540
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:6829
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:5824

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

2269{
2270 DBG_HTML(m_t << "<!-- insertMemberAlign -->\n")
2271 m_t << "&#160;</td><td class=\"memItemRight\">";
2272}

References DBG_HTML, and OutputGenerator::m_t.

Referenced by endMemberItem().

◆ insertMemberAlignLeft()

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

Implements OutputGenIntf.

Definition at line 2274 of file htmlgen.cpp.

2275{
2276 if (!initTag) m_t << "&#160;</td>";
2277 switch (type)
2278 {
2279 case MemberItemType::Normal: m_t << "<td class=\"memItemLeft\">"; break;
2280 case MemberItemType::AnonymousStart: m_t << "<td class=\"memItemLeft anon\">"; break;
2281 case MemberItemType::AnonymousEnd: m_t << "<td class=\"memItemLeft anonEnd\">"; break;
2282 case MemberItemType::Templated: m_t << "<td class=\"memTemplParams\" colspan=\"2\">"; break;
2283 }
2284}

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

3520{
3521 if (!style.isEmpty())
3522 {
3523 m_t << "<br class=\"" << style << "\" />\n";
3524 }
3525 else
3526 {
3527 m_t << "<br />\n";
3528 }
3529}

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

◆ operator=() [1/2]

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

Definition at line 1235 of file htmlgen.cpp.

1236{
1237 //printf("%p:HtmlGenerator(copy assign %p)\n",(void*)this,(void*)&og);
1238 if (this!=&og)
1239 {
1240 m_dir = og.m_dir;
1241 m_codeList = std::make_unique<OutputCodeList>(*og.m_codeList);
1242 m_codeGen = m_codeList->get<HtmlCodeGenerator>(OutputType::Html);
1243 m_codeGen->setTextStream(&m_t);
1246 m_relPath = og.m_relPath;
1249 }
1250 return *this;
1251}

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

2655{
2657}
static void startSectionHeader(TextStream &t, const QCString &relPath, int sectionCount)
Definition htmlgen.cpp:2084

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

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

◆ startCompoundTemplateParams()

void HtmlGenerator::startCompoundTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2258 of file htmlgen.cpp.

2259{
2260 m_t << "<div class=\"compoundTemplParams\">";
2261}

References OutputGenerator::m_t.

◆ startConstraintDocs()

void HtmlGenerator::startConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3501 of file htmlgen.cpp.

3502{
3503 m_t << "<td>&#160;";
3504}

References OutputGenerator::m_t.

◆ startConstraintList()

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

Implements OutputGenIntf.

Definition at line 3474 of file htmlgen.cpp.

3475{
3476 m_t << "<div class=\"typeconstraint\">\n";
3477 m_t << "<dl><dt><b>" << header << "</b></dt><dd>\n";
3478 m_t << "<table border=\"0\" cellspacing=\"2\" cellpadding=\"0\">\n";
3479}

References OutputGenerator::m_t.

◆ startConstraintParam()

void HtmlGenerator::startConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3481 of file htmlgen.cpp.

3482{
3483 m_t << "<tr><td valign=\"top\"><em>";
3484}

References OutputGenerator::m_t.

◆ startConstraintType()

void HtmlGenerator::startConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3491 of file htmlgen.cpp.

3492{
3493 m_t << "<td>&#160;:</td><td valign=\"top\"><em>";
3494}

References OutputGenerator::m_t.

◆ startContents()

void HtmlGenerator::startContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3243 of file htmlgen.cpp.

3244{
3245 m_t << "<div class=\"contents\">\n";
3246}

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

2749{
2750 m_t << "<table class=\"fieldtable\">\n"
2751 << "<tr><th colspan=\"" << (hasInits?3:2) << "\">" << title << "</th></tr>";
2752}

References OutputGenerator::m_t.

◆ startDescTableData()

void HtmlGenerator::startDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2788 of file htmlgen.cpp.

2789{
2790 m_t << "<td class=\"fielddoc\">";
2791}

References OutputGenerator::m_t.

◆ startDescTableInit()

void HtmlGenerator::startDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2778 of file htmlgen.cpp.

2779{
2780 m_t << "<td class=\"fieldinit\">";
2781}

References OutputGenerator::m_t.

◆ startDescTableRow()

void HtmlGenerator::startDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2758 of file htmlgen.cpp.

2759{
2760 m_t << "<tr>";
2761}

References OutputGenerator::m_t.

◆ startDescTableTitle()

void HtmlGenerator::startDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2768 of file htmlgen.cpp.

2769{
2770 m_t << "<td class=\"fieldname\">";
2771}

References OutputGenerator::m_t.

◆ startDirDepGraph()

void HtmlGenerator::startDirDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2672 of file htmlgen.cpp.

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

◆ startDotGraph()

void HtmlGenerator::startDotGraph ( )
overridevirtual

Implements OutputGenIntf.

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

1828{
1829 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>";
1830}

References OutputGenerator::m_t.

◆ startEmbeddedDoc()

void HtmlGenerator::startEmbeddedDoc ( int indent)
overridevirtual

Implements OutputGenIntf.

Definition at line 3619 of file htmlgen.cpp.

3620{
3621 DBG_HTML(m_t << "<!-- startEmbeddedDoc -->\n";)
3622 m_t << "<div class=\"embeddoc\" style=\"margin-left:" << indent << "ch;\">";
3623}

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

2799{
2800 m_t << "<dl class=\"section examples\"><dt>";
2802 m_t << "</dt>";
2803}
void docify(const QCString &text) override
Definition htmlgen.cpp:2032
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 1620 of file htmlgen.cpp.

1622{
1623 //printf("HtmlGenerator::startFile(%s)\n",qPrint(name));
1625 QCString fileName = name;
1627 m_lastTitle=title;
1628
1630 m_codeGen->setFileName(fileName);
1631 m_codeGen->setRelativePath(m_relPath);
1632 {
1633 std::lock_guard<std::mutex> lock(g_indexLock);
1635 }
1636
1639
1640 m_t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
1641 << getDoxygenVersion() << " -->\n";
1642 bool searchEngine = Config_getBool(SEARCHENGINE);
1643 if (searchEngine /*&& !generateTreeView*/)
1644 {
1645 m_t << "<script type=\"text/javascript\">\n";
1646 m_t << "let searchBox = new SearchBox(\"searchBox\", \""
1647 << m_relPath<< "search/\",'" << Doxygen::htmlFileExtension << "');\n";
1648 m_t << "</script>\n";
1649 }
1650 if (Config_getBool(HTML_CODE_FOLDING))
1651 {
1652 m_t << "<script type=\"text/javascript\">\n";
1653 m_t << "document.addEventListener('DOMContentLoaded', codefold.init);\n";
1654 m_t << "</script>\n";
1655 }
1657}
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:1618
QCString convertToHtml(const QCString &s, bool keepEntities)
Definition util.cpp:3984
QCString relativePathToRoot(const QCString &name)
Definition util.cpp:3600
QCString filterTitle(const QCString &title)
Definition util.cpp:5650
void addHtmlExtensionIfMissing(QCString &fName)
Definition util.cpp:4942

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

1965{
1966 if (extraIndentLevel==2)
1967 {
1968 m_t << "<h4";
1969 }
1970 else if (extraIndentLevel==1)
1971 {
1972 m_t << "<h3";
1973 }
1974 else // extraIndentLevel==0
1975 {
1976 m_t << "<h2";
1977 }
1978 if (!id.isEmpty())
1979 {
1980 m_t <<" id=\"header-"+convertToId(id)+"\"";
1981 }
1982 m_t << " class=\"groupheader\">";
1983}

References convertToId(), and OutputGenerator::m_t.

◆ startHeaderSection()

void HtmlGenerator::startHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3531 of file htmlgen.cpp.

3532{
3533 m_t << "<div class=\"header\">\n";
3534}

References OutputGenerator::m_t.

◆ startInclDepGraph()

void HtmlGenerator::startInclDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2618 of file htmlgen.cpp.

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

◆ startIndent()

void HtmlGenerator::startIndent ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2723 of file htmlgen.cpp.

2724{
2725 DBG_HTML(m_t << "<!-- startIndent -->\n";)
2726
2727 m_t << "<div class=\"memdoc\">\n";
2728}

References DBG_HTML, and OutputGenerator::m_t.

◆ startIndexItem()

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

Implements OutputGenIntf.

Definition at line 1868 of file htmlgen.cpp.

1869{
1870 //printf("HtmlGenerator::startIndexItem(%s,%s)\n",ref,f);
1871 if (!ref.isEmpty() || !f.isEmpty())
1872 {
1873 if (!ref.isEmpty())
1874 {
1875 m_t << "<a class=\"elRef\" ";
1877 }
1878 else
1879 {
1880 m_t << "<a class=\"el\" ";
1881 }
1882 m_t << "href=\"";
1883 m_t << externalRef(m_relPath,ref,TRUE);
1884 if (!f.isEmpty())
1885 {
1886 QCString fn=f;
1888 m_t << fn;
1889 }
1890 m_t << "\">";
1891 }
1892 else
1893 {
1894 m_t << "<b>";
1895 }
1896}
QCString externalRef(const QCString &relPath, const QCString &ref, bool href)
Definition util.cpp:5793
QCString externalLinkTarget(const bool parent)
Definition util.cpp:5745

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

◆ startIndexKey()

void HtmlGenerator::startIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2388 of file htmlgen.cpp.

2389{
2390 //m_t << " <tr><td class=\"indexkey\">";
2391}

◆ startIndexList()

void HtmlGenerator::startIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2378 of file htmlgen.cpp.

2379{
2380 m_t << "<table>\n";
2381}

References OutputGenerator::m_t.

◆ startIndexListItem()

void HtmlGenerator::startIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1858 of file htmlgen.cpp.

1859{
1860 m_t << "<li>";
1861}

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

2399{
2400 //m_t << "<td class=\"indexvalue\">";
2401}

◆ startInlineHeader()

void HtmlGenerator::startInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3553 of file htmlgen.cpp.

3554{
3555 if (m_emptySection)
3556 {
3557 m_t << "<table class=\"memberdecls\">\n";
3559 }
3560 m_t << "<tr><td colspan=\"2\"><h3>";
3561}

References FALSE, m_emptySection, and OutputGenerator::m_t.

◆ startInlineMemberDoc()

void HtmlGenerator::startInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3607 of file htmlgen.cpp.

3608{
3609 DBG_HTML(m_t << "<!-- startInlineMemberDoc -->\n";)
3610 m_t << "<td class=\"fielddoc\">\n";
3611}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberName()

void HtmlGenerator::startInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3595 of file htmlgen.cpp.

3596{
3597 DBG_HTML(m_t << "<!-- startInlineMemberName -->\n";)
3598 m_t << "<td class=\"fieldname\">\n";
3599}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberType()

void HtmlGenerator::startInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3583 of file htmlgen.cpp.

3584{
3585 DBG_HTML(m_t << "<!-- startInlineMemberType -->\n";)
3586 m_t << "<tr><td class=\"fieldtype\">\n";
3587}

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

3632{
3633 DBG_HTML(m_t << "<!-- startLabels -->\n";)
3634 m_t << "<span class=\"mlabels\">";
3635}

References DBG_HTML, and OutputGenerator::m_t.

◆ startLocalToc()

void HtmlGenerator::startLocalToc ( int level)
overridevirtual

Implements OutputGenIntf.

Definition at line 3770 of file htmlgen.cpp.

3771{
3772 m_tocState.level=0;
3773 m_tocState.indent=0;
3774 m_tocState.maxLevel=level;
3775 m_tocState.inLi = BoolVector(level+1,false);
3776 m_t << "<div class=\"toc\">";
3777 m_t << "<h3>" << theTranslator->trRTFTableOfContents() << "</h3>\n";
3778}
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 2286 of file htmlgen.cpp.

2287{
2288 DBG_HTML(m_t << "<!-- startMemberDescription -->\n")
2289 bool dynamicSections = Config_getBool(HTML_DYNAMIC_SECTIONS);
2290 if (m_emptySection)
2291 {
2292 m_t << "<table class=\"memberdecls\">\n";
2294 }
2295 m_t << "<tr class=\"memdesc:" << anchor;
2296 if (!inheritId.isEmpty())
2297 {
2298 if (dynamicSections) m_t << " inherit";
2299 m_t << " " << inheritId;
2300 }
2301 m_t << "\">";
2302 m_t << "<td class=\"mdescLeft\">&#160;</td>";
2303 if (typ) m_t << "<td class=\"mdescLeft\">&#160;</td>";
2304 m_t << "<td class=\"mdescRight\">";
2305}

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

2421{
2422 DBG_HTML(m_t << "<!-- startMemberDoc -->\n";)
2423 m_t << "\n<h2 class=\"memtitle\">"
2424 << "<span class=\"permalink\"><a href=\"#" << anchor << "\">&#9670;&#160;</a></span>";
2425 docify(title);
2426 if (memTotal>1)
2427 {
2428 m_t << " <span class=\"overload\">[" << memCount << "/" << memTotal <<"]</span>";
2429 }
2430 m_t << "</h2>\n";
2431 m_t << "\n<div class=\"memitem\">\n";
2432 m_t << "<div class=\"memproto\">\n";
2433}

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

◆ startMemberDocList()

void HtmlGenerator::startMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2408 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocName()

void HtmlGenerator::startMemberDocName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2447 of file htmlgen.cpp.

2448{
2449 DBG_HTML(m_t << "<!-- startMemberDocName -->\n";)
2450
2451 m_t << " <table class=\"memname\">\n";
2452
2453 m_t << " <tr>\n";
2454 m_t << " <td class=\"memname\">";
2455}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocPrefixItem()

void HtmlGenerator::startMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2435 of file htmlgen.cpp.

2436{
2437 DBG_HTML(m_t << "<!-- startMemberDocPrefixItem -->\n";)
2438 m_t << "<div class=\"memtemplate\">\n";
2439}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocSimple()

void HtmlGenerator::startMemberDocSimple ( bool isEnum)
overridevirtual

Implements OutputGenIntf.

Definition at line 3568 of file htmlgen.cpp.

3569{
3570 DBG_HTML(m_t << "<!-- startMemberDocSimple -->\n";)
3571 m_t << "<table class=\"fieldtable\">\n";
3572 m_t << "<tr><th colspan=\"" << (isEnum?"2":"3") << "\">";
3573 m_t << (isEnum? theTranslator->trEnumerationValues() :
3574 theTranslator->trCompoundMembers()) << "</th></tr>\n";
3575}
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 2715 of file htmlgen.cpp.

2716{
2717}

◆ startMemberGroupDocs()

void HtmlGenerator::startMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2705 of file htmlgen.cpp.

2706{
2707 m_t << "<tr><td colspan=\"2\" class=\"ititle\"><div class=\"groupText\">";
2708}

References OutputGenerator::m_t.

◆ startMemberGroupHeader()

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

Implements OutputGenIntf.

Definition at line 2695 of file htmlgen.cpp.

2696{
2697 m_t << "<tr id=\"" << id << "\" class=\"groupHeader\"><td colspan=\"2\"><div class=\"groupHeader\">";
2698}

References OutputGenerator::m_t.

◆ startMemberHeader()

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

Implements OutputGenIntf.

Definition at line 2330 of file htmlgen.cpp.

2331{
2332 DBG_HTML(m_t << "<!-- startMemberHeader -->\n")
2333 if (!m_emptySection)
2334 {
2335 m_t << "</table>";
2337 }
2338 if (m_emptySection)
2339 {
2340 m_t << "<table class=\"memberdecls\">\n";
2342 }
2343 m_t << "<tr class=\"heading\"><td colspan=\"" << typ << "\"><h2";
2344 if (!anchor.isEmpty())
2345 {
2346 m_t << " id=\"header-" << anchor << "\"";
2347 }
2348 m_t << " class=\"groupheader\">";
2349 if (!anchor.isEmpty())
2350 {
2351 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>\n";
2352 }
2353}

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

2209{
2210 DBG_HTML(m_t << "<!-- startMemberItem() -->\n")
2211 bool dynamicSections = Config_getBool(HTML_DYNAMIC_SECTIONS);
2212 if (m_emptySection)
2213 {
2214 m_t << "<table class=\"memberdecls\">\n";
2216 }
2217 m_t << "<tr class=\"memitem:" << convertToId(anchor);
2218 if (!inheritId.isEmpty())
2219 {
2220 if (dynamicSections) m_t << " inherit";
2221 m_t << " " << inheritId;
2222 }
2223 m_t << "\"";
2224 if (!anchor.isEmpty())
2225 {
2226 m_t << " id=\"r_" << convertToId(anchor) << "\"";
2227 }
2228 m_t << ">";
2230}
void insertMemberAlignLeft(MemberItemType, bool) override
Definition htmlgen.cpp:2274

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

2195{
2196 DBG_HTML(m_t << "<!-- startMemberList -->\n")
2197}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberSections()

void HtmlGenerator::startMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2313 of file htmlgen.cpp.

2314{
2315 DBG_HTML(m_t << "<!-- startMemberSections -->\n")
2316 m_emptySection=TRUE; // we postpone writing <table> until we actually
2317 // write a row to prevent empty tables, which
2318 // are not valid XHTML!
2319}

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

◆ startMemberSubtitle()

void HtmlGenerator::startMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2361 of file htmlgen.cpp.

2362{
2363 DBG_HTML(m_t << "<!-- startMemberSubtitle -->\n")
2364 if (m_emptySection)
2365 {
2366 m_t << "<table class=\"memberdecls\">\n";
2368 }
2369 m_t << "<tr><td class=\"ititle\" colspan=\"2\">";
2370}

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

◆ startMemberTemplateParams()

void HtmlGenerator::startMemberTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2241 of file htmlgen.cpp.

2242{
2243}

◆ startPageDoc()

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

Implements OutputGenIntf.

Definition at line 3253 of file htmlgen.cpp.

3254{
3255 m_t << "<div>";
3256}

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

1841{
1842 if (!classDef.isEmpty())
1843 m_t << "\n<p class=\"" << classDef << "\">";
1844 else
1845 m_t << "\n<p>";
1846}

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

◆ startParameterDefVal()

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

Implements OutputGenIntf.

Definition at line 2535 of file htmlgen.cpp.

2536{
2537 m_t << "<span class=\"paramdefsep\">";
2538 docify(s);
2539 m_t << "</span><span class=\"paramdefval\">";
2540}

References docify(), and OutputGenerator::m_t.

◆ startParameterExtra()

void HtmlGenerator::startParameterExtra ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2506 of file htmlgen.cpp.

2507{
2508 DBG_HTML(m_t << "<!-- startParameterExtra -->\n";)
2509}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterList()

void HtmlGenerator::startParameterList ( bool openBracket)
overridevirtual

Implements OutputGenIntf.

Definition at line 2463 of file htmlgen.cpp.

2464{
2465 DBG_HTML(m_t << "<!-- startParameterList -->\n";)
2466 m_t << " <td>";
2467 if (openBracket) m_t << "(";
2468 m_t << "</td>\n";
2469}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterName()

void HtmlGenerator::startParameterName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2494 of file htmlgen.cpp.

2495{
2496 DBG_HTML(m_t << "<!-- startParameterName -->\n";)
2497 m_t << " <td class=\"paramname\"><span class=\"paramname\"><em>";
2498}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterType()

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

Implements OutputGenIntf.

Definition at line 2471 of file htmlgen.cpp.

2472{
2473 if (first)
2474 {
2475 DBG_HTML(m_t << "<!-- startFirstParameterType -->\n";)
2476 m_t << " <td class=\"paramtype\">";
2477 }
2478 else
2479 {
2480 DBG_HTML(m_t << "<!-- startParameterType -->\n";)
2481 m_t << " <tr>\n";
2482 m_t << " <td class=\"paramkey\">" << key << "</td>\n";
2483 m_t << " <td></td>\n";
2484 m_t << " <td class=\"paramtype\">";
2485 }
2486}

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

1739{
1740 m_t << "<h3 class=\"version\">";
1741}

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

2002{
2003 switch(type.level())
2004 {
2005 case SectionType::Page: m_t << "\n\n<h1 class=\"doxsection\">"; break;
2006 case SectionType::Section: m_t << "\n\n<h2 class=\"doxsection\">"; break;
2007 case SectionType::Subsection: m_t << "\n\n<h3 class=\"doxsection\">"; break;
2008 case SectionType::Subsubsection: m_t << "\n\n<h4 class=\"doxsection\">"; break;
2009 case SectionType::Paragraph: m_t << "\n\n<h5 class=\"doxsection\">"; break;
2010 case SectionType::Subparagraph: m_t << "\n\n<h6 class=\"doxsection\">"; break;
2011 case SectionType::Subsubparagraph: m_t << "\n\n<h6 class=\"doxsection\">"; break;
2012 default: ASSERT(0); break;
2013 }
2014 m_t << "<a id=\"" << lab << "\" name=\"" << lab << "\"></a>";
2015}

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

1948{
1949 m_t << "<a href=\"";
1950 QCString fn = f;
1952 m_t << createHtmlUrl(m_relPath,"",true,
1953 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1954 fn,
1955 anchor);
1956 m_t << "\">";
1957}
QCString createHtmlUrl(const QCString &relPath, const QCString &ref, bool href, bool isLocalFile, const QCString &targetFileName, const QCString &anchor)
Definition util.cpp:5756

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

3537{
3538 m_t << " <div class=\"headertitle\">";
3539 startTitle();
3540}
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 3792 of file htmlgen.cpp.

3793{
3794 SectionType type = si->type();
3795 if (type.isSection())
3796 {
3797 //printf(" level=%d title=%s maxLevel=%d\n",level,qPrint(si->title()),maxLevel);
3798 int nextLevel = type.level();
3799 if (nextLevel>m_tocState.level)
3800 {
3801 for (int l=m_tocState.level;l<nextLevel;l++)
3802 {
3803 if (l < m_tocState.maxLevel)
3804 {
3805 m_tocState.incIndent(m_t,"<ul>");
3806 char cs[2] = { static_cast<char>('0'+l+1), 0 };
3807 const char *empty = (l!=nextLevel-1) ? " empty" : "";
3808 m_tocState.incIndent(m_t,"<li class=\"level" + QCString(cs) + empty + "\">");
3809 }
3810 }
3811 }
3812 else if (nextLevel<m_tocState.level)
3813 {
3814 for (int l=m_tocState.level;l>nextLevel;l--)
3815 {
3816 if (l <= m_tocState.maxLevel) m_tocState.decIndent(m_t,"</li>");
3817 m_tocState.inLi[l] = false;
3818 if (l <= m_tocState.maxLevel) m_tocState.decIndent(m_t,"</ul>");
3819 }
3820 }
3821 if (nextLevel <= m_tocState.maxLevel)
3822 {
3823 if (m_tocState.inLi[nextLevel] || m_tocState.level>nextLevel)
3824 {
3825 m_tocState.decIndent(m_t,"</li>");
3826 char cs[2] = { static_cast<char>('0'+nextLevel), 0 };
3827 m_tocState.incIndent(m_t,"<li class=\"level" + QCString(cs) + "\">");
3828 }
3829 QCString label = si->label();
3830 m_tocState.writeIndent(m_t);
3831 m_t << "<a href=\"#"+label+"\">";
3832 }
3833 }
3834}
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 2074 of file htmlgen.cpp.

2075{
2076 char cs[2];
2077 cs[0]=c;
2078 cs[1]=0;
2079 docify(cs);
2080}

References docify().

◆ writeDoc()

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

Implements OutputGenIntf.

Definition at line 2810 of file htmlgen.cpp.

2811{
2812 const DocNodeAST *astImpl = dynamic_cast<const DocNodeAST*>(ast);
2813 if (astImpl && sectionLevel<=m_tocState.maxLevel)
2814 {
2815 m_codeList->setId(id);
2816 HtmlDocVisitor visitor(m_t,*m_codeList,ctx,fileName());
2817 std::visit(visitor,astImpl->root);
2818 }
2819}
DocNodeVariant root
Definition docnode.h:1497

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

◆ writeExternalSearchPage()

void HtmlGenerator::writeExternalSearchPage ( )
static

Definition at line 3368 of file htmlgen.cpp.

3369{
3370 bool disableIndex = Config_getBool(DISABLE_INDEX);
3371 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3372 bool fullSidebar = Config_getBool(FULL_SIDEBAR);
3373 bool quickLinksAfterSplitbar = !disableIndex && generateTreeView && fullSidebar;
3374 QCString dname = Config_getString(HTML_OUTPUT);
3375 QCString fileName = dname+"/search"+Doxygen::htmlFileExtension;
3376 std::ofstream f = Portable::openOutputStream(fileName);
3377 if (f.is_open())
3378 {
3379 TextStream t(&f);
3381
3382 t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
3383 << getDoxygenVersion() << " -->\n";
3384 t << "<script type=\"text/javascript\">\n";
3385 t << "let searchBox = new SearchBox(\"searchBox\", \""
3386 << "search/\",'" << Doxygen::htmlFileExtension << "');\n";
3387 t << "</script>\n";
3388
3389 if (!disableIndex && !quickLinksAfterSplitbar)
3390 {
3391 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3392 }
3393 if (generateTreeView)
3394 {
3395 t << "</div><!-- top -->\n";
3396 }
3397 t << writeSplitBarAsString("search.php",QCString(),QCString());
3398 if (quickLinksAfterSplitbar)
3399 {
3400 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3401 }
3402
3403 t << "<div class=\"header\">\n";
3404 t << " <div class=\"headertitle\">\n";
3405 t << " <div class=\"title\">" << theTranslator->trSearchResultsTitle() << "</div>\n";
3406 t << " </div>\n";
3407 t << "</div>\n";
3408 t << "<div class=\"contents\">\n";
3409
3410 t << "<div id=\"searchresults\"></div>\n";
3411 t << "</div>\n";
3412
3413 if (generateTreeView)
3414 {
3415 t << "</div><!-- doc-content -->\n";
3416 t << "</div><!-- container -->\n";
3417 }
3418
3419 writePageFooter(t,"Search","","");
3420
3421 }
3422 f.close();
3423
3424 QCString scriptName = dname+"/search/search.js";
3425 f = Portable::openOutputStream(scriptName);
3426 if (f.is_open())
3427 {
3428 TextStream t(&f);
3429 t << "const searchResultsText=["
3430 << "\"" << theTranslator->trSearchResults(0) << "\","
3431 << "\"" << theTranslator->trSearchResults(1) << "\","
3432 << "\"" << theTranslator->trSearchResults(2) << "\"];\n";
3433 t << "const serverUrl=\"" << Config_getString(SEARCHENGINE_URL) << "\";\n";
3434 t << "const tagMap = {\n";
3435 bool first=TRUE;
3436 // add search mappings
3437 const StringVector &extraSearchMappings = Config_getList(EXTRA_SEARCH_MAPPINGS);
3438 for (const auto &ml : extraSearchMappings)
3439 {
3440 QCString mapLine(ml);
3441 int eqPos = mapLine.find('=');
3442 if (eqPos!=-1) // tag command contains a destination
3443 {
3444 QCString tagName = mapLine.left(eqPos).stripWhiteSpace();
3445 QCString destName = mapLine.right(mapLine.length()-eqPos-1).stripWhiteSpace();
3446 if (!tagName.isEmpty())
3447 {
3448 if (!first) t << ",\n";
3449 t << " \"" << tagName << "\": \"" << destName << "\"";
3450 first=FALSE;
3451 }
3452 }
3453 }
3454 if (!first) t << "\n";
3455 t << "};\n\n";
3456 t << ResourceMgr::instance().getAsString("extsearch.js");
3457 t << "\n";
3458 t << "document.addEventListener('DOMContentLoaded',() => {\n";
3459 t << " const query = trim(getURLParameter('query'));\n";
3460 t << " if (query) {\n";
3461 t << " searchFor(query,0,20);\n";
3462 t << " } else {\n";
3463 t << " const results = document.getElementById('results');\n";
3464 t << " results.innerHtml = '<p>" << theTranslator->trSearchResults(0) << "</p>';\n";
3465 t << " }\n";
3466 t << "});\n";
3467 }
3468 else
3469 {
3470 err("Failed to open file '{}' for writing...\n",scriptName);
3471 }
3472}
static void writePageFooter(TextStream &t, const QCString &, const QCString &, const QCString &)
Definition htmlgen.cpp:1722
static QCString writeSplitBarAsString(const QCString &name, const QCString &relpath, const QCString &allMembersFile)
Definition htmlgen.cpp:3198
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:3032
#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 1728 of file htmlgen.cpp.

1729{
1731}

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

◆ writeFooterFile()

void HtmlGenerator::writeFooterFile ( TextStream & t)
static

Definition at line 1612 of file htmlgen.cpp.

1613{
1614 t << "<!-- HTML footer for doxygen " << getDoxygenVersion() << "-->\n";
1615 t << ResourceMgr::instance().getAsString("footer.html");
1616}

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

Referenced by readConfiguration().

◆ writeGraphicalHierarchy()

void HtmlGenerator::writeGraphicalHierarchy ( DotGfxHierarchyTable & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2690 of file htmlgen.cpp.

2691{
2692 g.writeGraph(m_t,dir(),fileName());
2693}
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 1606 of file htmlgen.cpp.

1607{
1608 t << "<!-- HTML header for doxygen " << getDoxygenVersion() << "-->\n";
1609 t << ResourceMgr::instance().getAsString("header.html");
1610}

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

3687{
3688 DBG_HTML(m_t << "<!-- writeInheritedSectionTitle -->\n";)
3689 bool dynamicSections = Config_getBool(HTML_DYNAMIC_SECTIONS);
3690 QCString a = anchor;
3691 if (!a.isEmpty()) a.prepend("#");
3692 QCString classLink = QCString("<a class=\"el\" ");
3693 if (!ref.isEmpty())
3694 {
3695 classLink+= externalLinkTarget();
3696 classLink += " href=\"";
3697 classLink+= externalRef(m_relPath,ref,TRUE);
3698 }
3699 else
3700 {
3701 classLink += "href=\"";
3702 classLink+=m_relPath;
3703 }
3704 QCString fn = file;
3706 classLink=classLink+fn+a;
3707 classLink+=QCString("\">")+convertToHtml(name,FALSE)+"</a>";
3708 m_t << "<tr class=\"inherit_header " << id << "\">";
3709 if (dynamicSections)
3710 {
3711 m_t << "<td colspan=\"2\" onclick=\"javascript:dynsection.toggleInherit('" << id << "')\">";
3712 m_t << "<span class=\"dynarrow\"><span class=\"arrowhead closed\"></span></span>";
3713 }
3714 else
3715 {
3716 m_t << "<td colspan=\"2\">";
3717 }
3719 << "</td></tr>\n";
3720}
QCString & prepend(const char *s)
Definition qcstring.h:422
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 3637 of file htmlgen.cpp.

3638{
3639 DBG_HTML(m_t << "<!-- writeLabel(" << label << ") -->\n";)
3640
3641 auto convertLabelToClass = [](const std::string &lab) {
3642 QCString input = convertUTF8ToLower(lab);
3643 QCString result;
3644 size_t l=input.length();
3645 result.reserve(l);
3646
3647 // Create valid class selector, see 10.2 here https://www.w3.org/TR/selectors-3/#w3cselgrammar
3648 // ident [-]?{nmstart}{nmchar}*
3649 // nmstart [_a-z]|{nonascii}
3650 // nonascii [^\0-\177]
3651 // nmchar [_a-z0-9-]|{nonascii}
3652
3653 bool nmstart=false;
3654 for (size_t i=0; i<l; i++)
3655 {
3656 char c = input.at(i);
3657 if (c<0 || (c>='a' && c<='z') || c=='_') // nmstart pattern
3658 {
3659 nmstart=true;
3660 result+=c;
3661 }
3662 else if (nmstart && (c<0 || (c>='a' && c<='z') || (c>='0' && c<='9') || c=='_')) // nmchar pattern
3663 {
3664 result+=c;
3665 }
3666 else if (nmstart && (c==' ' || c=='-')) // show whitespace as -
3667 {
3668 result+='-';
3669 }
3670 }
3671 return result;
3672 };
3673
3674 m_t << "<span class=\"mlabel " << convertLabelToClass(label.stripWhiteSpace().str()) << "\">" << label << "</span>";
3675}
size_t length() const
Returns the length of the string, not counting the 0-terminator.
Definition qcstring.h:166
char & at(size_t i)
Returns a reference to the character at index i.
Definition qcstring.h:593
void reserve(size_t size)
Reserve space for size bytes without changing the string contents.
Definition qcstring.h:185
std::string convertUTF8ToLower(const std::string &input)
Converts the input string into a lower case version, also taking into account non-ASCII characters th...
Definition utf8.cpp:187

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

◆ writeLatexSpacing()

void HtmlGenerator::writeLatexSpacing ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 230 of file htmlgen.h.

230{}

◆ writeLogo()

void HtmlGenerator::writeLogo ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1717 of file htmlgen.cpp.

1718{
1720}
static QCString writeLogoAsString(const QCString &path)
Definition htmlgen.cpp:1695

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

◆ writeLogoAsString()

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

Definition at line 1695 of file htmlgen.cpp.

1696{
1697 QCString result;
1698 switch (Config_getEnum(TIMESTAMP))
1699 {
1700 case TIMESTAMP_t::NO:
1701 result = theTranslator->trGeneratedBy();
1702 break;
1703 default:
1704 result = theTranslator->trGeneratedAt("<span class=\"timestamp\"></span>",
1705 convertToHtml(Config_getString(PROJECT_NAME)));
1706 break;
1707 }
1708 result += "&#160;\n<a href=\"https://www.doxygen.org/index.html\">\n"
1709 "<img class=\"footer\" src=\"";
1710 result += path;
1711 result += "doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> ";
1712 result += getDoxygenVersion();
1713 result += " ";
1714 return result;
1715}
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 3238 of file htmlgen.cpp.

3239{
3240 m_t << substitute(s,"$relpath^",m_relPath);
3241}

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

◆ writeNonBreakableSpace()

void HtmlGenerator::writeNonBreakableSpace ( int n)
overridevirtual

Implements OutputGenIntf.

Definition at line 2740 of file htmlgen.cpp.

2741{
2742 for (int i=0; i<n; i++)
2743 {
2744 m_t << "&#160;";
2745 }
2746}

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

1925{
1926 if (!ref.isEmpty())
1927 {
1928 m_t << "<a class=\"elRef\" ";
1930 }
1931 else
1932 {
1933 m_t << "<a class=\"el\" ";
1934 }
1935 m_t << "href=\"";
1936 QCString fn = f;
1938 m_t << createHtmlUrl(m_relPath,ref,true,
1939 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1940 fn,
1941 anchor);
1942 m_t << "\">";
1943 docify(name);
1944 m_t << "</a>";
1945}

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

1724{
1725 t << substituteHtmlKeywords(g_footer_file,g_footer,convertToHtml(lastTitle),relPath,navPath);
1726}

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

3750{
3751 m_t << "<div id=\"page-nav\" class=\"page-nav-panel\">\n";
3752 m_t << "<div id=\"page-nav-resize-handle\"></div>\n";
3753 m_t << "<div id=\"page-nav-tree\">\n";
3754 m_t << "<div id=\"page-nav-contents\">\n";
3755 m_t << "</div><!-- page-nav-contents -->\n";
3756 m_t << "</div><!-- page-nav-tree -->\n";
3757 m_t << "</div><!-- page-nav -->\n";
3758}

References OutputGenerator::m_t.

◆ writeQuickLinks()

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

Implements OutputGenIntf.

Definition at line 3263 of file htmlgen.cpp.

3264{
3265 writeDefaultQuickLinks(m_t,hli,file,m_relPath,extraTabs);
3266}

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

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

1690{
1692}
static void writeSearchInfoStatic(TextStream &t, const QCString &relPath)
Definition htmlgen.cpp:1659

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

◆ writeSearchInfoStatic()

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

Definition at line 1659 of file htmlgen.cpp.

1660{
1661 bool searchEngine = Config_getBool(SEARCHENGINE);
1662 bool serverBasedSearch = Config_getBool(SERVER_BASED_SEARCH);
1663 if (searchEngine && !serverBasedSearch)
1664 {
1665 t << "<!-- window showing the filter options -->\n";
1666 t << "<div id=\"MSearchSelectWindow\"\n";
1667 t << " onmouseover=\"return searchBox.OnSearchSelectShow()\"\n";
1668 t << " onmouseout=\"return searchBox.OnSearchSelectHide()\"\n";
1669 t << " onkeydown=\"return searchBox.OnSearchSelectKey(event)\">\n";
1670 t << "</div>\n";
1671 t << "\n";
1672 t << "<!-- iframe showing the search results (closed by default) -->\n";
1673 t << "<div id=\"MSearchResultsWindow\">\n";
1674 t << "<div id=\"MSearchResults\">\n";
1675 t << "<div class=\"SRPage\">\n";
1676 t << "<div id=\"SRIndex\">\n";
1677 t << "<div id=\"SRResults\"></div>\n"; // here the results will be inserted
1678 t << "<div class=\"SRStatus\" id=\"Loading\">" << theTranslator->trLoading() << "</div>\n";
1679 t << "<div class=\"SRStatus\" id=\"Searching\">" << theTranslator->trSearching() << "</div>\n";
1680 t << "<div class=\"SRStatus\" id=\"NoMatches\">" << theTranslator->trNoMatches() << "</div>\n";
1681 t << "</div>\n"; // SRIndex
1682 t << "</div>\n"; // SRPage
1683 t << "</div>\n"; // MSearchResults
1684 t << "</div>\n"; // MSearchResultsWindow
1685 t << "\n";
1686 }
1687}
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 3269 of file htmlgen.cpp.

3270{
3271 bool disableIndex = Config_getBool(DISABLE_INDEX);
3272 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3273 bool fullSidebar = Config_getBool(FULL_SIDEBAR);
3274 bool quickLinksAfterSplitbar = !disableIndex && generateTreeView && fullSidebar;
3275 QCString projectName = Config_getString(PROJECT_NAME);
3276 QCString htmlOutput = Config_getString(HTML_OUTPUT);
3277
3278 // OPENSEARCH_PROVIDER {
3279 QCString configFileName = htmlOutput+"/search_config.php";
3280 std::ofstream f = Portable::openOutputStream(configFileName);
3281 if (f.is_open())
3282 {
3283 TextStream t(&f);
3284 t << "<?php\n\n";
3285 t << "$config = array(\n";
3286 t << " 'PROJECT_NAME' => \"" << convertToHtml(projectName) << "\",\n";
3287 t << " 'GENERATE_TREEVIEW' => " << (generateTreeView?"true":"false") << ",\n";
3288 t << " 'DISABLE_INDEX' => " << (disableIndex?"true":"false") << ",\n";
3289 t << " 'FULL_SIDEBAR' => " << (fullSidebar?"true":"false") << ",\n";
3290 t << ");\n\n";
3291 t << "$translator = array(\n";
3292 t << " 'search_results_title' => \"" << theTranslator->trSearchResultsTitle() << "\",\n";
3293 t << " 'search_results' => array(\n";
3294 t << " 0 => \"" << theTranslator->trSearchResults(0) << "\",\n";
3295 t << " 1 => \"" << theTranslator->trSearchResults(1) << "\",\n";
3296 t << " 2 => \"" << substitute(theTranslator->trSearchResults(2), "$", "\\$") << "\",\n";
3297 t << " ),\n";
3298 t << " 'search_matches' => \"" << theTranslator->trSearchMatches() << "\",\n";
3299 t << " 'search' => \"" << theTranslator->trSearch() << "\",\n";
3300 t << " 'logo' => \"" << substitute(substitute(writeLogoAsString(""), "\"","\\\""), "\n","\\n") << "\",\n";
3301 t << ");\n\n";
3302 t << "?>\n";
3303 }
3304 f.close();
3305
3306 ResourceMgr::instance().copyResource("search_functions.php",htmlOutput);
3307 ResourceMgr::instance().copyResource("search_opensearch.php",htmlOutput);
3308 // OPENSEARCH_PROVIDER }
3309
3310 QCString fileName = htmlOutput+"/search.php";
3312 if (f.is_open())
3313 {
3314 TextStream t(&f);
3316
3317 t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
3318 << getDoxygenVersion() << " -->\n";
3319 t << "<script type=\"text/javascript\">\n";
3320 t << "let searchBox = new SearchBox(\"searchBox\", \""
3321 << "search/\",'" << Doxygen::htmlFileExtension << "');\n";
3322 t << "</script>\n";
3323
3324 if (!disableIndex && !quickLinksAfterSplitbar)
3325 {
3326 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3327 }
3328 if (generateTreeView)
3329 {
3330 t << "</div><!-- top -->\n";
3331 }
3332 t << writeSplitBarAsString("search.php",QCString(),QCString());
3333 if (quickLinksAfterSplitbar)
3334 {
3335 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3336 }
3337 t << "<!-- generated -->\n";
3338
3339 t << "<?php\n";
3340 t << "require_once \"search_functions.php\";\n";
3341 t << "main();\n";
3342 t << "?>\n";
3343
3344 // Write empty navigation path, to make footer connect properly
3345 if (generateTreeView)
3346 {
3347 t << "</div><!-- doc-content -->\n";
3348 t << "</div><!-- container -->\n";
3349 }
3350
3351 writePageFooter(t,"Search","","");
3352 }
3353 f.close();
3354
3355 QCString scriptName = htmlOutput+"/search/search.js";
3356 f = Portable::openOutputStream(scriptName);
3357 if (f.is_open())
3358 {
3359 TextStream t(&f);
3360 t << ResourceMgr::instance().getAsString("extsearch.js");
3361 }
3362 else
3363 {
3364 err("Failed to open file '{}' for writing...\n",scriptName);
3365 }
3366}
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 3233 of file htmlgen.cpp.

3234{
3235 m_t << writeSplitBarAsString(name,m_relPath,allMembersFile);
3236}

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

3199{
3200 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3201 QCString result;
3202 // write split bar
3203 if (generateTreeView)
3204 {
3205 QCString fn = name;
3207 if (!Config_getBool(FULL_SIDEBAR))
3208 {
3209 result += QCString(
3210 "<div id=\"side-nav\" class=\"ui-resizable side-nav-resizable\">\n");
3211 }
3212 result+=
3213 " <div id=\"nav-tree\">\n"
3214 " <div id=\"nav-tree-contents\">\n"
3215 " <div id=\"nav-sync\" class=\"sync\"></div>\n"
3216 " </div>\n"
3217 " </div>\n"
3218 " <div id=\"splitbar\" style=\"-moz-user-select:none;\" \n"
3219 " class=\"ui-resizable-handle\">\n"
3220 " </div>\n"
3221 "</div>\n"
3222 "<script type=\"text/javascript\">\n"
3223 "document.addEventListener('DOMContentLoaded',() => { initNavTree('" + fn + "','" + relpath + "','" + allMembersFile + "'); });\n"
3224 "</script>\n";
3225 if (Config_getBool(DISABLE_INDEX) || !Config_getBool(FULL_SIDEBAR))
3226 {
3227 result+="<div id=\"container\">\n<div id=\"doc-content\">\n";
3228 }
3229 }
3230 return result;
3231}

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

1913{
1914 m_t << "<li>";
1915 if (!path.isEmpty()) docify(path);
1916 QCString fn = f;
1918 m_t << "<a class=\"el\" href=\"" << fn << "\">";
1919 docify(name);
1920 m_t << "</a> ";
1921}

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

◆ writeString()

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

Implements OutputGenIntf.

Definition at line 1853 of file htmlgen.cpp.

1854{
1855 m_t << text;
1856}

References OutputGenerator::m_t.

◆ writeStyleInfo()

void HtmlGenerator::writeStyleInfo ( int part)
overridevirtual

Implements OutputGenIntf.

Definition at line 1748 of file htmlgen.cpp.

1749{
1750 //printf("writeStyleInfo(%d)\n",part);
1751 if (part==0)
1752 {
1753 if (Config_getString(HTML_STYLESHEET).isEmpty()) // write default style sheet
1754 {
1755 //printf("write doxygen.css\n");
1756 startPlainFile("doxygen.css");
1758 endPlainFile();
1759 Doxygen::indexList->addStyleSheetFile("doxygen.css");
1760 }
1761 else // write user defined style sheet
1762 {
1763 QCString cssName=Config_getString(HTML_STYLESHEET);
1764 if (!cssName.startsWith("http:") && !cssName.startsWith("https:"))
1765 {
1766 FileInfo cssfi(cssName.str());
1767 if (!cssfi.exists() || !cssfi.isFile() || !cssfi.isReadable())
1768 {
1769 err("style sheet {} does not exist or is not readable!\n", Config_getString(HTML_STYLESHEET));
1770 }
1771 else
1772 {
1773 // convert style sheet to string
1774 QCString fileStr = fileToString(cssName);
1775 // write the string into the output dir
1776 startPlainFile(cssfi.fileName());
1777 m_t << fileStr;
1778 endPlainFile();
1779 }
1780 Doxygen::indexList->addStyleSheetFile(cssfi.fileName());
1781 }
1782 }
1783 const StringVector &extraCssFiles = Config_getList(HTML_EXTRA_STYLESHEET);
1784 for (const auto &fileName : extraCssFiles)
1785 {
1786 if (!fileName.empty())
1787 {
1788 FileInfo fi(fileName);
1789 if (fi.exists())
1790 {
1791 Doxygen::indexList->addStyleSheetFile(fi.fileName());
1792 }
1793 }
1794 }
1795
1796 Doxygen::indexList->addStyleSheetFile("navtree.css");
1797
1798 if (Config_getBool(HTML_DYNAMIC_SECTIONS))
1799 {
1800 Doxygen::indexList->addStyleSheetFile("dynsections.js");
1801 }
1802 if (Config_getBool(HTML_CODE_FOLDING))
1803 {
1804 Doxygen::indexList->addStyleSheetFile("codefolding.js");
1805 }
1806
1807 if (Config_getEnum(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE)
1808 {
1809 Doxygen::indexList->addStyleSheetFile("darkmode_toggle.js");
1810 }
1811
1812 if (Config_getBool(INTERACTIVE_SVG))
1813 {
1815 }
1816
1817 if (!Config_getBool(DISABLE_INDEX) && Config_getBool(HTML_DYNAMIC_MENUS))
1818 {
1820 Doxygen::indexList->addStyleSheetFile("menudata.js");
1821 }
1822 }
1823}
bool startsWith(const char *s) const
Definition qcstring.h:507
static void writeDefaultStyleSheet(TextStream &t)
Definition htmlgen.cpp:1483

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

1601{
1604}

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

3723{
3724 if (first)
3725 {
3726 m_t << " <div class=\"summary\">\n";
3727 }
3728 else
3729 {
3730 m_t << " &#124;\n";
3731 }
3732 m_t << "<a href=\"";
3733 if (!file.isEmpty())
3734 {
3735 QCString fn = file;
3737 m_t << m_relPath << fn;
3738 }
3739 else if (!anchor.isEmpty())
3740 {
3741 m_t << "#";
3742 m_t << anchor;
3743 }
3744 m_t << "\">";
3745 m_t << title;
3746 m_t << "</a>";
3747}

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

1430{
1432 QCString dname=Config_getString(HTML_OUTPUT);
1433 ResourceMgr &mgr = ResourceMgr::instance();
1434 mgr.copyResource("doxygen.svg",dname);
1435 Doxygen::indexList->addImageFile("doxygen.svg");
1436}
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: