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

1143 : OutputGenerator(Config_getString(HTML_OUTPUT))
1144 , m_codeList(std::make_unique<OutputCodeList>())
1145{
1146 //printf("%p:HtmlGenerator()\n",(void*)this);
1147 m_codeGen = m_codeList->add<HtmlCodeGenerator>(&m_t);
1148}
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 1150 of file htmlgen.cpp.

1150 : OutputGenerator(og.m_dir), OutputGenIntf()
1151{
1152 //printf("%p:HtmlGenerator(copy %p)\n",(void*)this,(void*)&og);
1153 m_codeList = std::make_unique<OutputCodeList>(*og.m_codeList);
1154 m_codeGen = m_codeList->get<HtmlCodeGenerator>(OutputType::Html);
1155 m_codeGen->setTextStream(&m_t);
1158 m_relPath = og.m_relPath;
1161}
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 1183 of file htmlgen.cpp.

1184{
1186}
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 2664 of file htmlgen.cpp.

2665{
2666}

◆ addLabel()

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

Implements OutputGenIntf.

Definition at line 1764 of file htmlgen.cpp.

1765{
1766}

◆ cleanup()

void HtmlGenerator::cleanup ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1349 of file htmlgen.cpp.

1350{
1351 QCString dname = Config_getString(HTML_OUTPUT);
1352 Dir d(dname.str());
1353 clearSubDirs(d);
1354}
const std::string & str() const
Definition qcstring.h:552
void clearSubDirs(const Dir &d)
Definition util.cpp:3651

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

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

1966{
1967 if (!str.isEmpty())
1968 {
1969 const char *p=str.data();
1970 while (*p)
1971 {
1972 char c=*p++;
1973 switch(c)
1974 {
1975 case '<': m_t << "&lt;"; break;
1976 case '>': m_t << "&gt;"; break;
1977 case '&': m_t << "&amp;"; break;
1978 case '"': m_t << "&quot;"; break;
1979 case '-': if (inHtmlComment) m_t << "&#45;"; else m_t << "-"; break;
1980 case '\\':
1981 if (*p=='<')
1982 { m_t << "&lt;"; p++; }
1983 else if (*p=='>')
1984 { m_t << "&gt;"; p++; }
1985 else if (*p=='[')
1986 { m_t << "\\&zwj;["; p++; }
1987 else if (*p==']')
1988 { m_t << "\\&zwj;]"; p++; }
1989 else if (*p=='(')
1990 { m_t << "\\&zwj;("; p++; }
1991 else if (*p==')')
1992 { m_t << "\\&zwj;)"; p++; }
1993 else
1994 m_t << "\\";
1995 break;
1996 default: m_t << c;
1997 }
1998 }
1999 }
2000}

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

2588{
2593
2595
2598}
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:2059
static void startSectionSummary(TextStream &t, int sectionCount)
Definition htmlgen.cpp:2037
static void endSectionContent(TextStream &t)
Definition htmlgen.cpp:2075
static void endSectionHeader(TextStream &t)
Definition htmlgen.cpp:2031
static void endSectionSummary(TextStream &t)
Definition htmlgen.cpp:2049
#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 2088 of file htmlgen.cpp.

2090{
2095 TextStream tt;
2097 if (!tt.empty())
2098 {
2099 m_t << " <div class=\"center\">\n";
2100 m_t << " <img src=\"";
2101 m_t << m_relPath << fileName << ".png\" usemap=\"#" << convertToId(name);
2102 m_t << "_map\" alt=\"\"/>\n";
2103 m_t << " <map id=\"" << convertToId(name);
2104 m_t << "_map\" name=\"" << convertToId(name);
2105 m_t << "_map\">\n";
2106 m_t << tt.str();
2107 m_t << " </map>\n";
2108 m_t << "</div>";
2109 }
2110 else
2111 {
2112 m_t << " <div class=\"center\">\n";
2113 m_t << " <img src=\"";
2114 m_t << m_relPath << fileName << ".png\" alt=\"\"/>\n";
2115 m_t << " </div>";
2116 }
2119}
void writeImage(TextStream &t, const QCString &path, const QCString &relPath, const QCString &file, bool generateMap=true) const
Definition diagram.cpp:1361
bool empty() const
Returns true iff the buffer is empty.
Definition textstream.h:240
std::string str() const
Return the contents of the buffer as a std::string object.
Definition textstream.h:216
QCString convertToId(const QCString &s)
Definition util.cpp:3856

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

2192{
2193 m_t << "</div>";
2194}

References OutputGenerator::m_t.

◆ endConstraintDocs()

void HtmlGenerator::endConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3434 of file htmlgen.cpp.

3435{
3436 m_t << "</td></tr>\n";
3437}

References OutputGenerator::m_t.

◆ endConstraintList()

void HtmlGenerator::endConstraintList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3439 of file htmlgen.cpp.

3440{
3441 m_t << "</table>\n";
3442 m_t << "</dd>\n";
3443 m_t << "</dl>\n";
3444 m_t << "</div>\n";
3445}

References OutputGenerator::m_t.

◆ endConstraintParam()

void HtmlGenerator::endConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3414 of file htmlgen.cpp.

3415{
3416 m_t << "</em></td>";
3417}

References OutputGenerator::m_t.

◆ endConstraintType()

void HtmlGenerator::endConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3424 of file htmlgen.cpp.

3425{
3426 m_t << "</em></td>";
3427}

References OutputGenerator::m_t.

◆ endContents()

void HtmlGenerator::endContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3176 of file htmlgen.cpp.

3177{
3178 m_t << "</div><!-- contents -->\n";
3179}

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

2682{
2683 m_t << "</table>\n";
2684}

References OutputGenerator::m_t.

◆ endDescTableData()

void HtmlGenerator::endDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2721 of file htmlgen.cpp.

2722{
2723 m_t << "</td>";
2724}

References OutputGenerator::m_t.

◆ endDescTableInit()

void HtmlGenerator::endDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2711 of file htmlgen.cpp.

2712{
2713 m_t << "&#160;</td>";
2714}

References OutputGenerator::m_t.

◆ endDescTableRow()

void HtmlGenerator::endDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2691 of file htmlgen.cpp.

2692{
2693 m_t << "</tr>\n";
2694}

References OutputGenerator::m_t.

◆ endDescTableTitle()

void HtmlGenerator::endDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2701 of file htmlgen.cpp.

2702{
2703 m_t << "&#160;</td>";
2704}

References OutputGenerator::m_t.

◆ endDirDepGraph()

void HtmlGenerator::endDirDepGraph ( DotDirDeps & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2605 of file htmlgen.cpp.

2606{
2611
2613
2616}
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 2517 of file htmlgen.cpp.

2518{
2519 bool generateLegend = Config_getBool(GENERATE_LEGEND);
2520 bool umlLook = Config_getBool(UML_LOOK);
2525
2527 if (generateLegend && !umlLook)
2528 {
2529 QCString url = m_relPath+"graph_legend"+Doxygen::htmlFileExtension;
2530 m_t << "<center><span class=\"legend\">[";
2531 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
2532 m_t << "<a ";
2533 if (generateTreeView) m_t << "target=\"top\" ";
2534 m_t << "href=\"";
2535 if (!url.isEmpty()) m_t << url;
2536 m_t << "\">";
2538 m_t << "</a>";
2539 m_t << "]</span></center>";
2540 }
2541
2544}
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool TBRank=TRUE, bool imageMap=TRUE, int graphId=-1)
static QCString htmlFileExtension
Definition doxygen.h:121
bool isEmpty() const
Returns TRUE iff the string is empty.
Definition qcstring.h:163
virtual QCString trLegend()=0
#define Config_getBool(name)
Definition config.h:33
Translator * theTranslator
Definition language.cpp:71

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

◆ endDoxyAnchor()

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

Implements OutputGenIntf.

Definition at line 1760 of file htmlgen.cpp.

1761{
1762}

◆ endEmbeddedDoc()

void HtmlGenerator::endEmbeddedDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3553 of file htmlgen.cpp.

3554{
3555 DBG_HTML(m_t << "<!-- endEmbeddedDoc -->\n";)
3556 m_t << "</div>";
3557}
#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 2733 of file htmlgen.cpp.

2734{
2735 m_t << "</dl>\n";
2736}

References OutputGenerator::m_t.

◆ endFile()

void HtmlGenerator::endFile ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1661 of file htmlgen.cpp.

1662{
1663 endPlainFile();
1664}
void endPlainFile() override
Definition htmlgen.h:334

References endPlainFile().

◆ endGroupCollaboration()

void HtmlGenerator::endGroupCollaboration ( DotGroupCollaboration & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2569 of file htmlgen.cpp.

2570{
2575
2577
2580}
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 1913 of file htmlgen.cpp.

1914{
1915 if (extraIndentLevel==2)
1916 {
1917 m_t << "</h4>\n";
1918 }
1919 else if (extraIndentLevel==1)
1920 {
1921 m_t << "</h3>\n";
1922 }
1923 else
1924 {
1925 m_t << "</h2>\n";
1926 }
1927}

References OutputGenerator::m_t.

◆ endHeaderSection()

void HtmlGenerator::endHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3476 of file htmlgen.cpp.

3477{
3478 m_t << "</div><!--header-->\n";
3479}

References OutputGenerator::m_t.

◆ endInclDepGraph()

void HtmlGenerator::endInclDepGraph ( DotInclDepGraph & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2551 of file htmlgen.cpp.

2552{
2557
2559
2562}
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 2658 of file htmlgen.cpp.

2659{
2660 DBG_HTML(m_t << "<!-- endIndent -->\n";)
2661 m_t << "\n</div>\n" << "</div>\n";
2662}

References DBG_HTML, and OutputGenerator::m_t.

◆ endIndexItem()

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

Implements OutputGenIntf.

Definition at line 1826 of file htmlgen.cpp.

1827{
1828 //printf("HtmlGenerator::endIndexItem(%s,%s,%s)\n",ref,f,name);
1829 if (!ref.isEmpty() || !f.isEmpty())
1830 {
1831 m_t << "</a>";
1832 }
1833 else
1834 {
1835 m_t << "</b>";
1836 }
1837}

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

◆ endIndexKey()

void HtmlGenerator::endIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2321 of file htmlgen.cpp.

2322{
2323 //m_t << "</td>";
2324}

◆ endIndexList()

void HtmlGenerator::endIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2311 of file htmlgen.cpp.

2312{
2313 m_t << "</table>\n";
2314}

References OutputGenerator::m_t.

◆ endIndexListItem()

void HtmlGenerator::endIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1791 of file htmlgen.cpp.

1792{
1793 m_t << "</li>\n";
1794}

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

2332{
2333 //m_t << "</td></tr>\n";
2334}

◆ endInlineHeader()

void HtmlGenerator::endInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3491 of file htmlgen.cpp.

3492{
3493 m_t << "</h3></td></tr>\n";
3494}

References OutputGenerator::m_t.

◆ endInlineMemberDoc()

void HtmlGenerator::endInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3541 of file htmlgen.cpp.

3542{
3543 DBG_HTML(m_t << "<!-- endInlineMemberDoc -->\n";)
3544 m_t << "</td></tr>\n";
3545}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberName()

void HtmlGenerator::endInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3529 of file htmlgen.cpp.

3530{
3531 DBG_HTML(m_t << "<!-- endInlineMemberName -->\n";)
3532 m_t << "</td>\n";
3533}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberType()

void HtmlGenerator::endInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3517 of file htmlgen.cpp.

3518{
3519 DBG_HTML(m_t << "<!-- endInlineMemberType -->\n";)
3520 m_t << "</td>\n";
3521}

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

3606{
3607 DBG_HTML(m_t << "<!-- endLabels -->\n";)
3608 m_t << "</span>";
3609}

References DBG_HTML, and OutputGenerator::m_t.

◆ endLocalToc()

void HtmlGenerator::endLocalToc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3708 of file htmlgen.cpp.

3709{
3710 if (m_tocState.level > m_tocState.maxLevel) m_tocState.level = m_tocState.maxLevel;
3711 while (m_tocState.level>0)
3712 {
3713 m_tocState.decIndent(m_t,"</li>");
3714 m_tocState.decIndent(m_t,"</ul>");
3715 m_tocState.level--;
3716 }
3717 m_t << "</div>\n";
3718}
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 3688 of file htmlgen.cpp.

3689{
3690}

◆ endMemberDescription()

void HtmlGenerator::endMemberDescription ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2235 of file htmlgen.cpp.

2236{
2237 DBG_HTML(m_t << "<!-- endMemberDescription -->\n")
2238 m_t << "<br /></td></tr>\n";
2239}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDoc()

void HtmlGenerator::endMemberDoc ( bool hasArgs)
overridevirtual

Implements OutputGenIntf.

Definition at line 2501 of file htmlgen.cpp.

2502{
2503 DBG_HTML(m_t << "<!-- endMemberDoc -->\n";)
2504 if (!hasArgs)
2505 {
2506 m_t << " </tr>\n";
2507 }
2508 m_t << " </table>\n";
2509 // m_t << "</div>\n";
2510}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocList()

void HtmlGenerator::endMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2341 of file htmlgen.cpp.

2342{
2343 DBG_HTML(m_t << "<!-- endMemberDocList -->\n";)
2344}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocName()

void HtmlGenerator::endMemberDocName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2385 of file htmlgen.cpp.

2386{
2387 DBG_HTML(m_t << "<!-- endMemberDocName -->\n";)
2388 m_t << "</td>\n";
2389}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocPrefixItem()

void HtmlGenerator::endMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2369 of file htmlgen.cpp.

2370{
2371 DBG_HTML(m_t << "<!-- endMemberDocPrefixItem -->\n";)
2372 m_t << "</div>\n";
2373}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocSimple()

void HtmlGenerator::endMemberDocSimple ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 3505 of file htmlgen.cpp.

3506{
3507 DBG_HTML(m_t << "<!-- endMemberDocSimple -->\n";)
3508 m_t << "</table>\n";
3509}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberGroup()

void HtmlGenerator::endMemberGroup ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2647 of file htmlgen.cpp.

2648{
2649}

◆ endMemberGroupDocs()

void HtmlGenerator::endMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2638 of file htmlgen.cpp.

2639{
2640 m_t << "</div></td></tr>\n";
2641}

References OutputGenerator::m_t.

◆ endMemberGroupHeader()

void HtmlGenerator::endMemberGroupHeader ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2628 of file htmlgen.cpp.

2629{
2630 m_t << "</div></td></tr>\n";
2631}

References OutputGenerator::m_t.

◆ endMemberHeader()

void HtmlGenerator::endMemberHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2283 of file htmlgen.cpp.

2284{
2285 DBG_HTML(m_t << "<!-- endMemberHeader -->\n")
2286 m_t << "</h2></td></tr>\n";
2287}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberItem()

void HtmlGenerator::endMemberItem ( MemberItemType type)
overridevirtual

Implements OutputGenIntf.

Definition at line 2160 of file htmlgen.cpp.

2161{
2163 {
2164 insertMemberAlign(false);
2165 }
2166 m_t << "</td></tr>\n";
2167}
OutputType type() const override
Definition htmlgen.h:121
void insertMemberAlign(bool) override
Definition htmlgen.cpp:2196

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

◆ endMemberList()

void HtmlGenerator::endMemberList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2127 of file htmlgen.cpp.

2128{
2129 DBG_HTML(m_t << "<!-- endMemberList -->\n")
2130}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberSections()

void HtmlGenerator::endMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2249 of file htmlgen.cpp.

2250{
2251 DBG_HTML(m_t << "<!-- endMemberSections -->\n")
2252 if (!m_emptySection)
2253 {
2254 m_t << "</table>\n";
2255 }
2256}

References DBG_HTML, m_emptySection, and OutputGenerator::m_t.

◆ endMemberSubtitle()

void HtmlGenerator::endMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2300 of file htmlgen.cpp.

2301{
2302 DBG_HTML(m_t << "<!-- endMemberSubtitle -->\n")
2303 m_t << "</td></tr>\n";
2304}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberTemplateParams()

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

Implements OutputGenIntf.

Definition at line 2173 of file htmlgen.cpp.

2174{
2175 bool dynamicSections = Config_getBool(HTML_DYNAMIC_SECTIONS);
2176 m_t << "</td></tr>\n";
2177 m_t << "<tr class=\"memitem:" << convertToId(anchor);
2178 if (!inheritId.isEmpty())
2179 {
2180 if (dynamicSections) m_t << " inherit";
2181 m_t << " " << inheritId;
2182 }
2183 m_t << " template\"><td class=\"memItemLeft\">";
2184}

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

◆ endPageDoc()

void HtmlGenerator::endPageDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3186 of file htmlgen.cpp.

3187{
3188 m_t << "</div><!-- PageDoc -->\n";
3189}

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

1777{
1778 m_t << "</p>\n";
1779}

References OutputGenerator::m_t.

◆ endParameterDefVal()

void HtmlGenerator::endParameterDefVal ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2470 of file htmlgen.cpp.

2471{
2472 m_t << "</span>";
2473}

References OutputGenerator::m_t.

◆ endParameterExtra()

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

Implements OutputGenIntf.

Definition at line 2439 of file htmlgen.cpp.

2440{
2441 DBG_HTML(m_t << "<!-- endParameterExtra -->\n";)
2442 if (last)
2443 {
2444 if (emptyList)
2445 {
2446 if (closeBracket) m_t << "</td><td>)";
2447 m_t << "</td>\n";
2448 m_t << " <td>";
2449 }
2450 else
2451 {
2452 m_t << "&#160;";
2453 if (closeBracket) m_t << ")";
2454 }
2455 }
2456 else
2457 {
2458 m_t << "</td>\n";
2459 m_t << " </tr>\n";
2460 }
2461}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterList()

void HtmlGenerator::endParameterList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2475 of file htmlgen.cpp.

2476{
2477 DBG_HTML(m_t << "<!-- endParameterList -->\n";)
2478 m_t << "</td>\n";
2479 m_t << " </tr>\n";
2480}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterName()

void HtmlGenerator::endParameterName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2428 of file htmlgen.cpp.

2429{
2430 DBG_HTML(m_t << "<!-- endParameterName -->\n";)
2431 m_t << "</em></span>";
2432}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterType()

void HtmlGenerator::endParameterType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2416 of file htmlgen.cpp.

2417{
2418 DBG_HTML(m_t << "<!-- endParameterType -->\n";)
2419 m_t << "</td>";
2420}

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

1672{
1673 m_t << "</h3>";
1674}

References OutputGenerator::m_t.

◆ endQuickIndices()

void HtmlGenerator::endQuickIndices ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3116 of file htmlgen.cpp.

3117{
3118 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3119 m_t << "</div><!-- top -->\n";
3120 if (!generateTreeView)
3121 {
3122 m_t << "<div id=\"doc-content\">\n";
3123 }
3124}

References Config_getBool, and OutputGenerator::m_t.

◆ endSection()

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

Implements OutputGenIntf.

Definition at line 1945 of file htmlgen.cpp.

1946{
1947 switch(type.level())
1948 {
1949 case SectionType::Page: m_t << "</h1>"; break;
1950 case SectionType::Section: m_t << "</h2>"; break;
1951 case SectionType::Subsection: m_t << "</h3>"; break;
1952 case SectionType::Subsubsection: m_t << "</h4>"; break;
1953 case SectionType::Paragraph: m_t << "</h5>"; break;
1954 case SectionType::Subparagraph: m_t << "</h6>"; break;
1955 case SectionType::Subsubparagraph: m_t << "</h6>"; break;
1956 default: ASSERT(0); break;
1957 }
1958}
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 1887 of file htmlgen.cpp.

1888{
1889 m_t << "</a>";
1890}

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

3471{
3472 endTitle();
3473 m_t << "</div>\n";
3474}
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 3764 of file htmlgen.cpp.

3765{
3766 SectionType type = si->type();
3767 int nextLevel = type.level();
3768 if (type.isSection() && nextLevel<=m_tocState.maxLevel)
3769 {
3770 m_t << "</a>\n";
3771 m_tocState.inLi[nextLevel]=true;
3772 m_tocState.level = nextLevel;
3773 }
3774}
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 2482 of file htmlgen.cpp.

2483{
2484 DBG_HTML(m_t << "<!-- exceptionEntry -->\n";)
2485 if (!closeBracket)
2486 {
2487 m_t << "</td>\n";
2488 m_t << " </tr>\n";
2489 m_t << " <tr>\n";
2490 m_t << " <td align=\"right\">";
2491 }
2492 // colspan 2 so it gets both parameter type and parameter name columns
2493 if (!prefix.isEmpty())
2494 m_t << prefix << "</td><td>(</td><td colspan=\"2\">";
2495 else if (closeBracket)
2496 m_t << "&#160;)</td><td></td><td></td><td>";
2497 else
2498 m_t << "</td><td></td><td colspan=\"2\">";
2499}
constexpr auto prefix
Definition anchor.cpp:44

References DBG_HTML, OutputGenerator::m_t, and prefix.

◆ getNavTreeCss()

QCString HtmlGenerator::getNavTreeCss ( )
static

Definition at line 3692 of file htmlgen.cpp.

3693{
3694 ResourceMgr &mgr = ResourceMgr::instance();
3695 return replaceVariables(mgr.getAsString("navtree.css"));
3696}
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:700

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

Referenced by init().

◆ init()

void HtmlGenerator::init ( )
static

Definition at line 1197 of file htmlgen.cpp.

1198{
1199 QCString dname = Config_getString(HTML_OUTPUT);
1200 Dir d(dname.str());
1201 if (!d.exists() && !d.mkdir(dname.str()))
1202 {
1203 term("Could not create output directory {}\n",dname);
1204 }
1205 //writeLogo(dname);
1206 if (!Config_getString(HTML_HEADER).isEmpty())
1207 {
1208 g_header_file=Config_getString(HTML_HEADER);
1211 //printf("g_header='%s'\n",qPrint(g_header));
1212 QCString result = substituteHtmlKeywords(g_header_file,g_header,QCString(),QCString());
1213 checkBlocks(result,Config_getString(HTML_HEADER),htmlMarkerInfo);
1214 }
1215 else
1216 {
1217 g_header_file="header.html";
1220 QCString result = substituteHtmlKeywords(g_header_file,g_header,QCString(),QCString());
1221 checkBlocks(result,"<default header.html>",htmlMarkerInfo);
1222 }
1223
1224 if (!Config_getString(HTML_FOOTER).isEmpty())
1225 {
1226 g_footer_file=Config_getString(HTML_FOOTER);
1229 //printf("g_footer='%s'\n",qPrint(g_footer));
1230 QCString result = substituteHtmlKeywords(g_footer_file,g_footer,QCString(),QCString());
1231 checkBlocks(result,Config_getString(HTML_FOOTER),htmlMarkerInfo);
1232 }
1233 else
1234 {
1235 g_footer_file = "footer.html";
1238 QCString result = substituteHtmlKeywords(g_footer_file,g_footer,QCString(),QCString());
1239 checkBlocks(result,"<default footer.html>",htmlMarkerInfo);
1240 }
1241
1242 if (Config_getBool(USE_MATHJAX))
1243 {
1244 if (!Config_getString(MATHJAX_CODEFILE).isEmpty())
1245 {
1246 g_mathjax_code=fileToString(Config_getString(MATHJAX_CODEFILE));
1247 //printf("g_mathjax_code='%s'\n",qPrint(g_mathjax_code));
1248 }
1250 //printf("converted g_latex_macro='%s'\n",qPrint(g_latex_macro));
1251 }
1252 createSubDirs(d);
1253
1255
1256 ResourceMgr &mgr = ResourceMgr::instance();
1257
1258 {
1259 QCString tabsCss;
1260 if (Config_getBool(HTML_DYNAMIC_MENUS))
1261 {
1262 tabsCss = mgr.getAsString("tabs.css");
1263 }
1264 else // stylesheet for the 'old' static tabs
1265 {
1266 tabsCss = mgr.getAsString("fixed_tabs.css");
1267 }
1268
1269 std::ofstream f = Portable::openOutputStream(dname+"/tabs.css");
1270 if (f.is_open())
1271 {
1272 TextStream t(&f);
1273 t << replaceVariables(tabsCss);
1274 }
1275 }
1276
1277
1278 if (Config_getBool(INTERACTIVE_SVG))
1279 {
1280 mgr.copyResource("svg.min.js",dname);
1281 }
1282
1283 if (!Config_getBool(DISABLE_INDEX) && Config_getBool(HTML_DYNAMIC_MENUS))
1284 {
1285 mgr.copyResource("menu.js",dname);
1286 }
1287
1288 // copy navtree.css
1289 {
1290 std::ofstream f = Portable::openOutputStream(dname+"/navtree.css");
1291 if (f.is_open())
1292 {
1293 TextStream t(&f);
1294 t << getNavTreeCss();
1295 }
1296 }
1297
1298 if (Config_getBool(HTML_COPY_CLIPBOARD))
1299 {
1300 std::ofstream f = Portable::openOutputStream(dname+"/clipboard.js");
1301 if (f.is_open())
1302 {
1303 TextStream t(&f);
1304 t << substitute(mgr.getAsString("clipboard.js"),"$copy_to_clipboard_text",theTranslator->trCopyToClipboard());
1305 }
1306 }
1307
1308 bool hasCookie = Config_getBool(GENERATE_TREEVIEW) || Config_getBool(SEARCHENGINE) || Config_getEnum(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE;
1309 if (hasCookie)
1310 {
1311 mgr.copyResource("cookie.js",dname);
1312 }
1313
1314 if (Config_getBool(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE)
1315 {
1316 std::ofstream f = Portable::openOutputStream(dname+"/darkmode_toggle.js");
1317 if (f.is_open())
1318 {
1319 TextStream t(&f);
1320 t << substitute(replaceColorMarkers(mgr.getAsString("darkmode_toggle.js")),
1321 "$PROJECTID",getProjectId());
1322 }
1323 }
1324
1325 if (Config_getBool(HTML_DYNAMIC_SECTIONS))
1326 {
1327 std::ofstream f = Portable::openOutputStream(dname+"/dynsections.js");
1328 if (f.is_open())
1329 {
1330 TextStream t(&f);
1331 t << replaceVariables(mgr.getAsString("dynsections.js"));
1332 if (Config_getBool(SOURCE_BROWSER) && Config_getBool(SOURCE_TOOLTIPS))
1333 {
1334 t << replaceVariables(mgr.getAsString("dynsections_tooltips.js"));
1335 }
1336 }
1337 }
1338 if (Config_getBool(HTML_CODE_FOLDING))
1339 {
1340 std::ofstream f = Portable::openOutputStream(dname+"/codefolding.js");
1341 if (f.is_open())
1342 {
1343 TextStream t(&f);
1344 t << replaceVariables(mgr.getAsString("codefolding.js"));
1345 }
1346 }
1347}
static QCString getNavTreeCss()
Definition htmlgen.cpp:3692
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:1188
static QCString g_latex_macro
Definition htmlgen.cpp:68
static void fillColorStyleMaps()
Definition htmlgen.cpp:686
static QCString substituteHtmlKeywords(const QCString &file, const QCString &str, const QCString &title, const QCString &relPath, const QCString &navPath=QCString(), bool isSource=false)
Definition htmlgen.cpp:314
#define term(fmt,...)
Definition message.h:137
std::ofstream openOutputStream(const QCString &name, bool append=false)
Definition portable.cpp:649
QCString substitute(const QCString &s, const QCString &src, const QCString &dst)
substitute all occurrences of src in s by dst
Definition qcstring.cpp:571
void checkBlocks(const QCString &s, const QCString fileName, const SelectionMarkerInfo &markerInfo)
Definition util.cpp:6525
QCString fileToString(const QCString &name, bool filter, bool isSourceCode)
Definition util.cpp:1474
void createSubDirs(const Dir &d)
Definition util.cpp:3624
QCString getProjectId()
Definition util.cpp:6814
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:5809

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

2197{
2198 DBG_HTML(m_t << "<!-- insertMemberAlign -->\n")
2199 m_t << "&#160;</td><td class=\"memItemRight\">";
2200}

References DBG_HTML, and OutputGenerator::m_t.

Referenced by endMemberItem().

◆ insertMemberAlignLeft()

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

Implements OutputGenIntf.

Definition at line 2202 of file htmlgen.cpp.

2203{
2204 if (!initTag) m_t << "&#160;</td>";
2205 switch (type)
2206 {
2207 case MemberItemType::Normal: m_t << "<td class=\"memItemLeft\">"; break;
2208 case MemberItemType::AnonymousStart: m_t << "<td class=\"memItemLeft anon\">"; break;
2209 case MemberItemType::AnonymousEnd: m_t << "<td class=\"memItemLeft anonEnd\">"; break;
2210 case MemberItemType::Templated: m_t << "<td class=\"memTemplParams\" colspan=\"2\">"; break;
2211 }
2212}

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

3448{
3449 if (!style.isEmpty())
3450 {
3451 m_t << "<br class=\"" << style << "\" />\n";
3452 }
3453 else
3454 {
3455 m_t << "<br />\n";
3456 }
3457}

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

◆ operator=() [1/2]

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

Definition at line 1163 of file htmlgen.cpp.

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

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

2583{
2585}
static void startSectionHeader(TextStream &t, const QCString &relPath, int sectionCount)
Definition htmlgen.cpp:2012

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

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

◆ startCompoundTemplateParams()

void HtmlGenerator::startCompoundTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2186 of file htmlgen.cpp.

2187{
2188 m_t << "<div class=\"compoundTemplParams\">";
2189}

References OutputGenerator::m_t.

◆ startConstraintDocs()

void HtmlGenerator::startConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3429 of file htmlgen.cpp.

3430{
3431 m_t << "<td>&#160;";
3432}

References OutputGenerator::m_t.

◆ startConstraintList()

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

Implements OutputGenIntf.

Definition at line 3402 of file htmlgen.cpp.

3403{
3404 m_t << "<div class=\"typeconstraint\">\n";
3405 m_t << "<dl><dt><b>" << header << "</b></dt><dd>\n";
3406 m_t << "<table border=\"0\" cellspacing=\"2\" cellpadding=\"0\">\n";
3407}

References OutputGenerator::m_t.

◆ startConstraintParam()

void HtmlGenerator::startConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3409 of file htmlgen.cpp.

3410{
3411 m_t << "<tr><td valign=\"top\"><em>";
3412}

References OutputGenerator::m_t.

◆ startConstraintType()

void HtmlGenerator::startConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3419 of file htmlgen.cpp.

3420{
3421 m_t << "<td>&#160;:</td><td valign=\"top\"><em>";
3422}

References OutputGenerator::m_t.

◆ startContents()

void HtmlGenerator::startContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3171 of file htmlgen.cpp.

3172{
3173 m_t << "<div class=\"contents\">\n";
3174}

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

2677{
2678 m_t << "<table class=\"fieldtable\">\n"
2679 << "<tr><th colspan=\"" << (hasInits?3:2) << "\">" << title << "</th></tr>";
2680}

References OutputGenerator::m_t.

◆ startDescTableData()

void HtmlGenerator::startDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2716 of file htmlgen.cpp.

2717{
2718 m_t << "<td class=\"fielddoc\">";
2719}

References OutputGenerator::m_t.

◆ startDescTableInit()

void HtmlGenerator::startDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2706 of file htmlgen.cpp.

2707{
2708 m_t << "<td class=\"fieldinit\">";
2709}

References OutputGenerator::m_t.

◆ startDescTableRow()

void HtmlGenerator::startDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2686 of file htmlgen.cpp.

2687{
2688 m_t << "<tr>";
2689}

References OutputGenerator::m_t.

◆ startDescTableTitle()

void HtmlGenerator::startDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2696 of file htmlgen.cpp.

2697{
2698 m_t << "<td class=\"fieldname\">";
2699}

References OutputGenerator::m_t.

◆ startDirDepGraph()

void HtmlGenerator::startDirDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2600 of file htmlgen.cpp.

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

◆ startDotGraph()

void HtmlGenerator::startDotGraph ( )
overridevirtual

Implements OutputGenIntf.

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

1756{
1757 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>";
1758}

References OutputGenerator::m_t.

◆ startEmbeddedDoc()

void HtmlGenerator::startEmbeddedDoc ( int indent)
overridevirtual

Implements OutputGenIntf.

Definition at line 3547 of file htmlgen.cpp.

3548{
3549 DBG_HTML(m_t << "<!-- startEmbeddedDoc -->\n";)
3550 m_t << "<div class=\"embeddoc\" style=\"margin-left:" << indent << "ch;\">";
3551}

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

2727{
2728 m_t << "<dl class=\"section examples\"><dt>";
2730 m_t << "</dt>";
2731}
void docify(const QCString &text) override
Definition htmlgen.cpp:1960
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 1548 of file htmlgen.cpp.

1550{
1551 //printf("HtmlGenerator::startFile(%s)\n",qPrint(name));
1553 QCString fileName = name;
1555 m_lastTitle=title;
1556
1558 m_codeGen->setFileName(fileName);
1559 m_codeGen->setRelativePath(m_relPath);
1560 {
1561 std::lock_guard<std::mutex> lock(g_indexLock);
1563 }
1564
1567
1568 m_t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
1569 << getDoxygenVersion() << " -->\n";
1570 bool searchEngine = Config_getBool(SEARCHENGINE);
1571 if (searchEngine /*&& !generateTreeView*/)
1572 {
1573 m_t << "<script type=\"text/javascript\">\n";
1574 m_t << "let searchBox = new SearchBox(\"searchBox\", \""
1575 << m_relPath<< "search/\",'" << Doxygen::htmlFileExtension << "');\n";
1576 m_t << "</script>\n";
1577 }
1578 if (Config_getBool(HTML_CODE_FOLDING))
1579 {
1580 m_t << "<script type=\"text/javascript\">\n";
1581 m_t << "document.addEventListener('DOMContentLoaded', codefold.init);\n";
1582 m_t << "</script>\n";
1583 }
1585}
static IndexList * indexList
Definition doxygen.h:133
void startPlainFile(const QCString &name) override
Definition htmlgen.h:333
void addIndexFile(const QCString &name)
Definition indexlist.h:120
virtual QCString trGeneratedBy()=0
static std::mutex g_indexLock
Definition htmlgen.cpp:1546
QCString convertToHtml(const QCString &s, bool keepEntities)
Definition util.cpp:3947
QCString relativePathToRoot(const QCString &name)
Definition util.cpp:3563
QCString filterTitle(const QCString &title)
Definition util.cpp:5613
void addHtmlExtensionIfMissing(QCString &fName)
Definition util.cpp:4905

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

1893{
1894 if (extraIndentLevel==2)
1895 {
1896 m_t << "<h4";
1897 }
1898 else if (extraIndentLevel==1)
1899 {
1900 m_t << "<h3";
1901 }
1902 else // extraIndentLevel==0
1903 {
1904 m_t << "<h2";
1905 }
1906 if (!id.isEmpty())
1907 {
1908 m_t <<" id=\"header-"+convertToId(id)+"\"";
1909 }
1910 m_t << " class=\"groupheader\">";
1911}

References convertToId(), and OutputGenerator::m_t.

◆ startHeaderSection()

void HtmlGenerator::startHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3459 of file htmlgen.cpp.

3460{
3461 m_t << "<div class=\"header\">\n";
3462}

References OutputGenerator::m_t.

◆ startInclDepGraph()

void HtmlGenerator::startInclDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2546 of file htmlgen.cpp.

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

◆ startIndent()

void HtmlGenerator::startIndent ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2651 of file htmlgen.cpp.

2652{
2653 DBG_HTML(m_t << "<!-- startIndent -->\n";)
2654
2655 m_t << "<div class=\"memdoc\">\n";
2656}

References DBG_HTML, and OutputGenerator::m_t.

◆ startIndexItem()

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

Implements OutputGenIntf.

Definition at line 1796 of file htmlgen.cpp.

1797{
1798 //printf("HtmlGenerator::startIndexItem(%s,%s)\n",ref,f);
1799 if (!ref.isEmpty() || !f.isEmpty())
1800 {
1801 if (!ref.isEmpty())
1802 {
1803 m_t << "<a class=\"elRef\" ";
1805 }
1806 else
1807 {
1808 m_t << "<a class=\"el\" ";
1809 }
1810 m_t << "href=\"";
1811 m_t << externalRef(m_relPath,ref,TRUE);
1812 if (!f.isEmpty())
1813 {
1814 QCString fn=f;
1816 m_t << fn;
1817 }
1818 m_t << "\">";
1819 }
1820 else
1821 {
1822 m_t << "<b>";
1823 }
1824}
QCString externalRef(const QCString &relPath, const QCString &ref, bool href)
Definition util.cpp:5756
QCString externalLinkTarget(const bool parent)
Definition util.cpp:5708

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

◆ startIndexKey()

void HtmlGenerator::startIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2316 of file htmlgen.cpp.

2317{
2318 //m_t << " <tr><td class=\"indexkey\">";
2319}

◆ startIndexList()

void HtmlGenerator::startIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2306 of file htmlgen.cpp.

2307{
2308 m_t << "<table>\n";
2309}

References OutputGenerator::m_t.

◆ startIndexListItem()

void HtmlGenerator::startIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1786 of file htmlgen.cpp.

1787{
1788 m_t << "<li>";
1789}

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

2327{
2328 //m_t << "<td class=\"indexvalue\">";
2329}

◆ startInlineHeader()

void HtmlGenerator::startInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3481 of file htmlgen.cpp.

3482{
3483 if (m_emptySection)
3484 {
3485 m_t << "<table class=\"memberdecls\">\n";
3487 }
3488 m_t << "<tr><td colspan=\"2\"><h3>";
3489}

References FALSE, m_emptySection, and OutputGenerator::m_t.

◆ startInlineMemberDoc()

void HtmlGenerator::startInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3535 of file htmlgen.cpp.

3536{
3537 DBG_HTML(m_t << "<!-- startInlineMemberDoc -->\n";)
3538 m_t << "<td class=\"fielddoc\">\n";
3539}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberName()

void HtmlGenerator::startInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3523 of file htmlgen.cpp.

3524{
3525 DBG_HTML(m_t << "<!-- startInlineMemberName -->\n";)
3526 m_t << "<td class=\"fieldname\">\n";
3527}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberType()

void HtmlGenerator::startInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3511 of file htmlgen.cpp.

3512{
3513 DBG_HTML(m_t << "<!-- startInlineMemberType -->\n";)
3514 m_t << "<tr><td class=\"fieldtype\">\n";
3515}

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

3560{
3561 DBG_HTML(m_t << "<!-- startLabels -->\n";)
3562 m_t << "<span class=\"mlabels\">";
3563}

References DBG_HTML, and OutputGenerator::m_t.

◆ startLocalToc()

void HtmlGenerator::startLocalToc ( int level)
overridevirtual

Implements OutputGenIntf.

Definition at line 3698 of file htmlgen.cpp.

3699{
3700 m_tocState.level=0;
3701 m_tocState.indent=0;
3702 m_tocState.maxLevel=level;
3703 m_tocState.inLi = BoolVector(level+1,false);
3704 m_t << "<div class=\"toc\">";
3705 m_t << "<h3>" << theTranslator->trRTFTableOfContents() << "</h3>\n";
3706}
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 2214 of file htmlgen.cpp.

2215{
2216 DBG_HTML(m_t << "<!-- startMemberDescription -->\n")
2217 bool dynamicSections = Config_getBool(HTML_DYNAMIC_SECTIONS);
2218 if (m_emptySection)
2219 {
2220 m_t << "<table class=\"memberdecls\">\n";
2222 }
2223 m_t << "<tr class=\"memdesc:" << anchor;
2224 if (!inheritId.isEmpty())
2225 {
2226 if (dynamicSections) m_t << " inherit";
2227 m_t << " " << inheritId;
2228 }
2229 m_t << "\">";
2230 m_t << "<td class=\"mdescLeft\">&#160;</td>";
2231 if (typ) m_t << "<td class=\"mdescLeft\">&#160;</td>";
2232 m_t << "<td class=\"mdescRight\">";
2233}

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

2349{
2350 DBG_HTML(m_t << "<!-- startMemberDoc -->\n";)
2351 m_t << "\n<h2 class=\"memtitle\">"
2352 << "<span class=\"permalink\"><a href=\"#" << anchor << "\">&#9670;&#160;</a></span>";
2353 docify(title);
2354 if (memTotal>1)
2355 {
2356 m_t << " <span class=\"overload\">[" << memCount << "/" << memTotal <<"]</span>";
2357 }
2358 m_t << "</h2>\n";
2359 m_t << "\n<div class=\"memitem\">\n";
2360 m_t << "<div class=\"memproto\">\n";
2361}

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

◆ startMemberDocList()

void HtmlGenerator::startMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2336 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocName()

void HtmlGenerator::startMemberDocName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2375 of file htmlgen.cpp.

2376{
2377 DBG_HTML(m_t << "<!-- startMemberDocName -->\n";)
2378
2379 m_t << " <table class=\"memname\">\n";
2380
2381 m_t << " <tr>\n";
2382 m_t << " <td class=\"memname\">";
2383}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocPrefixItem()

void HtmlGenerator::startMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2363 of file htmlgen.cpp.

2364{
2365 DBG_HTML(m_t << "<!-- startMemberDocPrefixItem -->\n";)
2366 m_t << "<div class=\"memtemplate\">\n";
2367}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocSimple()

void HtmlGenerator::startMemberDocSimple ( bool isEnum)
overridevirtual

Implements OutputGenIntf.

Definition at line 3496 of file htmlgen.cpp.

3497{
3498 DBG_HTML(m_t << "<!-- startMemberDocSimple -->\n";)
3499 m_t << "<table class=\"fieldtable\">\n";
3500 m_t << "<tr><th colspan=\"" << (isEnum?"2":"3") << "\">";
3501 m_t << (isEnum? theTranslator->trEnumerationValues() :
3502 theTranslator->trCompoundMembers()) << "</th></tr>\n";
3503}
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 2643 of file htmlgen.cpp.

2644{
2645}

◆ startMemberGroupDocs()

void HtmlGenerator::startMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2633 of file htmlgen.cpp.

2634{
2635 m_t << "<tr><td colspan=\"2\" class=\"ititle\"><div class=\"groupText\">";
2636}

References OutputGenerator::m_t.

◆ startMemberGroupHeader()

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

Implements OutputGenIntf.

Definition at line 2623 of file htmlgen.cpp.

2624{
2625 m_t << "<tr id=\"" << id << "\" class=\"groupHeader\"><td colspan=\"2\"><div class=\"groupHeader\">";
2626}

References OutputGenerator::m_t.

◆ startMemberHeader()

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

Implements OutputGenIntf.

Definition at line 2258 of file htmlgen.cpp.

2259{
2260 DBG_HTML(m_t << "<!-- startMemberHeader -->\n")
2261 if (!m_emptySection)
2262 {
2263 m_t << "</table>";
2265 }
2266 if (m_emptySection)
2267 {
2268 m_t << "<table class=\"memberdecls\">\n";
2270 }
2271 m_t << "<tr class=\"heading\"><td colspan=\"" << typ << "\"><h2";
2272 if (!anchor.isEmpty())
2273 {
2274 m_t << " id=\"header-" << anchor << "\"";
2275 }
2276 m_t << " class=\"groupheader\">";
2277 if (!anchor.isEmpty())
2278 {
2279 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>\n";
2280 }
2281}

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

2137{
2138 DBG_HTML(m_t << "<!-- startMemberItem() -->\n")
2139 bool dynamicSections = Config_getBool(HTML_DYNAMIC_SECTIONS);
2140 if (m_emptySection)
2141 {
2142 m_t << "<table class=\"memberdecls\">\n";
2144 }
2145 m_t << "<tr class=\"memitem:" << convertToId(anchor);
2146 if (!inheritId.isEmpty())
2147 {
2148 if (dynamicSections) m_t << " inherit";
2149 m_t << " " << inheritId;
2150 }
2151 m_t << "\"";
2152 if (!anchor.isEmpty())
2153 {
2154 m_t << " id=\"r_" << convertToId(anchor) << "\"";
2155 }
2156 m_t << ">";
2158}
void insertMemberAlignLeft(MemberItemType, bool) override
Definition htmlgen.cpp:2202

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

2123{
2124 DBG_HTML(m_t << "<!-- startMemberList -->\n")
2125}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberSections()

void HtmlGenerator::startMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2241 of file htmlgen.cpp.

2242{
2243 DBG_HTML(m_t << "<!-- startMemberSections -->\n")
2244 m_emptySection=TRUE; // we postpone writing <table> until we actually
2245 // write a row to prevent empty tables, which
2246 // are not valid XHTML!
2247}

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

◆ startMemberSubtitle()

void HtmlGenerator::startMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2289 of file htmlgen.cpp.

2290{
2291 DBG_HTML(m_t << "<!-- startMemberSubtitle -->\n")
2292 if (m_emptySection)
2293 {
2294 m_t << "<table class=\"memberdecls\">\n";
2296 }
2297 m_t << "<tr><td class=\"ititle\" colspan=\"2\">";
2298}

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

◆ startMemberTemplateParams()

void HtmlGenerator::startMemberTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2169 of file htmlgen.cpp.

2170{
2171}

◆ startPageDoc()

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

Implements OutputGenIntf.

Definition at line 3181 of file htmlgen.cpp.

3182{
3183 m_t << "<div>";
3184}

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

1769{
1770 if (!classDef.isEmpty())
1771 m_t << "\n<p class=\"" << classDef << "\">";
1772 else
1773 m_t << "\n<p>";
1774}

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

◆ startParameterDefVal()

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

Implements OutputGenIntf.

Definition at line 2463 of file htmlgen.cpp.

2464{
2465 m_t << "<span class=\"paramdefsep\">";
2466 docify(s);
2467 m_t << "</span><span class=\"paramdefval\">";
2468}

References docify(), and OutputGenerator::m_t.

◆ startParameterExtra()

void HtmlGenerator::startParameterExtra ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2434 of file htmlgen.cpp.

2435{
2436 DBG_HTML(m_t << "<!-- startParameterExtra -->\n";)
2437}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterList()

void HtmlGenerator::startParameterList ( bool openBracket)
overridevirtual

Implements OutputGenIntf.

Definition at line 2391 of file htmlgen.cpp.

2392{
2393 DBG_HTML(m_t << "<!-- startParameterList -->\n";)
2394 m_t << " <td>";
2395 if (openBracket) m_t << "(";
2396 m_t << "</td>\n";
2397}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterName()

void HtmlGenerator::startParameterName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2422 of file htmlgen.cpp.

2423{
2424 DBG_HTML(m_t << "<!-- startParameterName -->\n";)
2425 m_t << " <td class=\"paramname\"><span class=\"paramname\"><em>";
2426}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterType()

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

Implements OutputGenIntf.

Definition at line 2399 of file htmlgen.cpp.

2400{
2401 if (first)
2402 {
2403 DBG_HTML(m_t << "<!-- startFirstParameterType -->\n";)
2404 m_t << " <td class=\"paramtype\">";
2405 }
2406 else
2407 {
2408 DBG_HTML(m_t << "<!-- startParameterType -->\n";)
2409 m_t << " <tr>\n";
2410 m_t << " <td class=\"paramkey\">" << key << "</td>\n";
2411 m_t << " <td></td>\n";
2412 m_t << " <td class=\"paramtype\">";
2413 }
2414}

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

1667{
1668 m_t << "<h3 class=\"version\">";
1669}

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

1930{
1931 switch(type.level())
1932 {
1933 case SectionType::Page: m_t << "\n\n<h1 class=\"doxsection\">"; break;
1934 case SectionType::Section: m_t << "\n\n<h2 class=\"doxsection\">"; break;
1935 case SectionType::Subsection: m_t << "\n\n<h3 class=\"doxsection\">"; break;
1936 case SectionType::Subsubsection: m_t << "\n\n<h4 class=\"doxsection\">"; break;
1937 case SectionType::Paragraph: m_t << "\n\n<h5 class=\"doxsection\">"; break;
1938 case SectionType::Subparagraph: m_t << "\n\n<h6 class=\"doxsection\">"; break;
1939 case SectionType::Subsubparagraph: m_t << "\n\n<h6 class=\"doxsection\">"; break;
1940 default: ASSERT(0); break;
1941 }
1942 m_t << "<a id=\"" << lab << "\" name=\"" << lab << "\"></a>";
1943}

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

1876{
1877 m_t << "<a href=\"";
1878 QCString fn = f;
1880 m_t << createHtmlUrl(m_relPath,"",true,
1881 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1882 fn,
1883 anchor);
1884 m_t << "\">";
1885}
QCString createHtmlUrl(const QCString &relPath, const QCString &ref, bool href, bool isLocalFile, const QCString &targetFileName, const QCString &anchor)
Definition util.cpp:5719

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

3465{
3466 m_t << " <div class=\"headertitle\">";
3467 startTitle();
3468}
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 3720 of file htmlgen.cpp.

3721{
3722 SectionType type = si->type();
3723 if (type.isSection())
3724 {
3725 //printf(" level=%d title=%s maxLevel=%d\n",level,qPrint(si->title()),maxLevel);
3726 int nextLevel = type.level();
3727 if (nextLevel>m_tocState.level)
3728 {
3729 for (int l=m_tocState.level;l<nextLevel;l++)
3730 {
3731 if (l < m_tocState.maxLevel)
3732 {
3733 m_tocState.incIndent(m_t,"<ul>");
3734 char cs[2] = { static_cast<char>('0'+l+1), 0 };
3735 const char *empty = (l!=nextLevel-1) ? " empty" : "";
3736 m_tocState.incIndent(m_t,"<li class=\"level" + QCString(cs) + empty + "\">");
3737 }
3738 }
3739 }
3740 else if (nextLevel<m_tocState.level)
3741 {
3742 for (int l=m_tocState.level;l>nextLevel;l--)
3743 {
3744 if (l <= m_tocState.maxLevel) m_tocState.decIndent(m_t,"</li>");
3745 m_tocState.inLi[l] = false;
3746 if (l <= m_tocState.maxLevel) m_tocState.decIndent(m_t,"</ul>");
3747 }
3748 }
3749 if (nextLevel <= m_tocState.maxLevel)
3750 {
3751 if (m_tocState.inLi[nextLevel] || m_tocState.level>nextLevel)
3752 {
3753 m_tocState.decIndent(m_t,"</li>");
3754 char cs[2] = { static_cast<char>('0'+nextLevel), 0 };
3755 m_tocState.incIndent(m_t,"<li class=\"level" + QCString(cs) + "\">");
3756 }
3757 QCString label = si->label();
3758 m_tocState.writeIndent(m_t);
3759 m_t << "<a href=\"#"+label+"\">";
3760 }
3761 }
3762}
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 2002 of file htmlgen.cpp.

2003{
2004 char cs[2];
2005 cs[0]=c;
2006 cs[1]=0;
2007 docify(cs);
2008}

References docify().

◆ writeDoc()

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

Implements OutputGenIntf.

Definition at line 2738 of file htmlgen.cpp.

2739{
2740 const DocNodeAST *astImpl = dynamic_cast<const DocNodeAST*>(ast);
2741 if (astImpl && sectionLevel<=m_tocState.maxLevel)
2742 {
2743 m_codeList->setId(id);
2744 HtmlDocVisitor visitor(m_t,*m_codeList,ctx,fileName());
2745 std::visit(visitor,astImpl->root);
2746 }
2747}
DocNodeVariant root
Definition docnode.h:1488

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

◆ writeExternalSearchPage()

void HtmlGenerator::writeExternalSearchPage ( )
static

Definition at line 3296 of file htmlgen.cpp.

3297{
3298 bool disableIndex = Config_getBool(DISABLE_INDEX);
3299 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3300 bool fullSidebar = Config_getBool(FULL_SIDEBAR);
3301 bool quickLinksAfterSplitbar = !disableIndex && generateTreeView && fullSidebar;
3302 QCString dname = Config_getString(HTML_OUTPUT);
3303 QCString fileName = dname+"/search"+Doxygen::htmlFileExtension;
3304 std::ofstream f = Portable::openOutputStream(fileName);
3305 if (f.is_open())
3306 {
3307 TextStream t(&f);
3309
3310 t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
3311 << getDoxygenVersion() << " -->\n";
3312 t << "<script type=\"text/javascript\">\n";
3313 t << "let searchBox = new SearchBox(\"searchBox\", \""
3314 << "search/\",'" << Doxygen::htmlFileExtension << "');\n";
3315 t << "</script>\n";
3316
3317 if (!disableIndex && !quickLinksAfterSplitbar)
3318 {
3319 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3320 }
3321 if (generateTreeView)
3322 {
3323 t << "</div><!-- top -->\n";
3324 }
3325 t << writeSplitBarAsString("search.php",QCString(),QCString());
3326 if (quickLinksAfterSplitbar)
3327 {
3328 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3329 }
3330
3331 t << "<div class=\"header\">\n";
3332 t << " <div class=\"headertitle\">\n";
3333 t << " <div class=\"title\">" << theTranslator->trSearchResultsTitle() << "</div>\n";
3334 t << " </div>\n";
3335 t << "</div>\n";
3336 t << "<div class=\"contents\">\n";
3337
3338 t << "<div id=\"searchresults\"></div>\n";
3339 t << "</div>\n";
3340
3341 if (generateTreeView)
3342 {
3343 t << "</div><!-- doc-content -->\n";
3344 t << "</div><!-- container -->\n";
3345 }
3346
3347 writePageFooter(t,"Search","","");
3348
3349 }
3350 f.close();
3351
3352 QCString scriptName = dname+"/search/search.js";
3353 f = Portable::openOutputStream(scriptName);
3354 if (f.is_open())
3355 {
3356 TextStream t(&f);
3357 t << "const searchResultsText=["
3358 << "\"" << theTranslator->trSearchResults(0) << "\","
3359 << "\"" << theTranslator->trSearchResults(1) << "\","
3360 << "\"" << theTranslator->trSearchResults(2) << "\"];\n";
3361 t << "const serverUrl=\"" << Config_getString(SEARCHENGINE_URL) << "\";\n";
3362 t << "const tagMap = {\n";
3363 bool first=TRUE;
3364 // add search mappings
3365 const StringVector &extraSearchMappings = Config_getList(EXTRA_SEARCH_MAPPINGS);
3366 for (const auto &ml : extraSearchMappings)
3367 {
3368 QCString mapLine(ml);
3369 int eqPos = mapLine.find('=');
3370 if (eqPos!=-1) // tag command contains a destination
3371 {
3372 QCString tagName = mapLine.left(eqPos).stripWhiteSpace();
3373 QCString destName = mapLine.right(mapLine.length()-eqPos-1).stripWhiteSpace();
3374 if (!tagName.isEmpty())
3375 {
3376 if (!first) t << ",\n";
3377 t << " \"" << tagName << "\": \"" << destName << "\"";
3378 first=FALSE;
3379 }
3380 }
3381 }
3382 if (!first) t << "\n";
3383 t << "};\n\n";
3384 t << ResourceMgr::instance().getAsString("extsearch.js");
3385 t << "\n";
3386 t << "document.addEventListener('DOMContentLoaded',() => {\n";
3387 t << " const query = trim(getURLParameter('query'));\n";
3388 t << " if (query) {\n";
3389 t << " searchFor(query,0,20);\n";
3390 t << " } else {\n";
3391 t << " const results = document.getElementById('results');\n";
3392 t << " results.innerHtml = '<p>" << theTranslator->trSearchResults(0) << "</p>';\n";
3393 t << " }\n";
3394 t << "});\n";
3395 }
3396 else
3397 {
3398 err("Failed to open file '{}' for writing...\n",scriptName);
3399 }
3400}
static void writePageFooter(TextStream &t, const QCString &, const QCString &, const QCString &)
Definition htmlgen.cpp:1650
static QCString writeSplitBarAsString(const QCString &name, const QCString &relpath, const QCString &allMembersFile)
Definition htmlgen.cpp:3126
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:2960
#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 1656 of file htmlgen.cpp.

1657{
1659}

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

◆ writeFooterFile()

void HtmlGenerator::writeFooterFile ( TextStream & t)
static

Definition at line 1540 of file htmlgen.cpp.

1541{
1542 t << "<!-- HTML footer for doxygen " << getDoxygenVersion() << "-->\n";
1543 t << ResourceMgr::instance().getAsString("footer.html");
1544}

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

Referenced by readConfiguration().

◆ writeGraphicalHierarchy()

void HtmlGenerator::writeGraphicalHierarchy ( DotGfxHierarchyTable & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2618 of file htmlgen.cpp.

2619{
2620 g.writeGraph(m_t,dir(),fileName());
2621}
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 1534 of file htmlgen.cpp.

1535{
1536 t << "<!-- HTML header for doxygen " << getDoxygenVersion() << "-->\n";
1537 t << ResourceMgr::instance().getAsString("header.html");
1538}

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

3615{
3616 DBG_HTML(m_t << "<!-- writeInheritedSectionTitle -->\n";)
3617 bool dynamicSections = Config_getBool(HTML_DYNAMIC_SECTIONS);
3618 QCString a = anchor;
3619 if (!a.isEmpty()) a.prepend("#");
3620 QCString classLink = QCString("<a class=\"el\" ");
3621 if (!ref.isEmpty())
3622 {
3623 classLink+= externalLinkTarget();
3624 classLink += " href=\"";
3625 classLink+= externalRef(m_relPath,ref,TRUE);
3626 }
3627 else
3628 {
3629 classLink += "href=\"";
3630 classLink+=m_relPath;
3631 }
3632 QCString fn = file;
3634 classLink=classLink+fn+a;
3635 classLink+=QCString("\">")+convertToHtml(name,FALSE)+"</a>";
3636 m_t << "<tr class=\"inherit_header " << id << "\">";
3637 if (dynamicSections)
3638 {
3639 m_t << "<td colspan=\"2\" onclick=\"javascript:dynsection.toggleInherit('" << id << "')\">";
3640 m_t << "<span class=\"dynarrow\"><span class=\"arrowhead closed\"></span></span>";
3641 }
3642 else
3643 {
3644 m_t << "<td colspan=\"2\">";
3645 }
3647 << "</td></tr>\n";
3648}
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 3565 of file htmlgen.cpp.

3566{
3567 DBG_HTML(m_t << "<!-- writeLabel(" << label << ") -->\n";)
3568
3569 auto convertLabelToClass = [](const std::string &lab) {
3570 QCString input = convertUTF8ToLower(lab);
3571 QCString result;
3572 size_t l=input.length();
3573 result.reserve(l);
3574
3575 // Create valid class selector, see 10.2 here https://www.w3.org/TR/selectors-3/#w3cselgrammar
3576 // ident [-]?{nmstart}{nmchar}*
3577 // nmstart [_a-z]|{nonascii}
3578 // nonascii [^\0-\177]
3579 // nmchar [_a-z0-9-]|{nonascii}
3580
3581 bool nmstart=false;
3582 for (size_t i=0; i<l; i++)
3583 {
3584 char c = input.at(i);
3585 if (c<0 || (c>='a' && c<='z') || c=='_') // nmstart pattern
3586 {
3587 nmstart=true;
3588 result+=c;
3589 }
3590 else if (nmstart && (c<0 || (c>='a' && c<='z') || (c>='0' && c<='9') || c=='_')) // nmchar pattern
3591 {
3592 result+=c;
3593 }
3594 else if (nmstart && (c==' ' || c=='-')) // show whitespace as -
3595 {
3596 result+='-';
3597 }
3598 }
3599 return result;
3600 };
3601
3602 m_t << "<span class=\"mlabel " << convertLabelToClass(label.stripWhiteSpace().str()) << "\">" << label << "</span>";
3603}
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 1645 of file htmlgen.cpp.

1646{
1648}
static QCString writeLogoAsString(const QCString &path)
Definition htmlgen.cpp:1623

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

◆ writeLogoAsString()

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

Definition at line 1623 of file htmlgen.cpp.

1624{
1625 QCString result;
1626 switch (Config_getEnum(TIMESTAMP))
1627 {
1628 case TIMESTAMP_t::NO:
1629 result = theTranslator->trGeneratedBy();
1630 break;
1631 default:
1632 result = theTranslator->trGeneratedAt("<span class=\"timestamp\"></span>",
1633 convertToHtml(Config_getString(PROJECT_NAME)));
1634 break;
1635 }
1636 result += "&#160;\n<a href=\"https://www.doxygen.org/index.html\">\n"
1637 "<img class=\"footer\" src=\"";
1638 result += path;
1639 result += "doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> ";
1640 result += getDoxygenVersion();
1641 result += " ";
1642 return result;
1643}
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 3166 of file htmlgen.cpp.

3167{
3168 m_t << substitute(s,"$relpath^",m_relPath);
3169}

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

◆ writeNonBreakableSpace()

void HtmlGenerator::writeNonBreakableSpace ( int n)
overridevirtual

Implements OutputGenIntf.

Definition at line 2668 of file htmlgen.cpp.

2669{
2670 for (int i=0; i<n; i++)
2671 {
2672 m_t << "&#160;";
2673 }
2674}

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

1853{
1854 if (!ref.isEmpty())
1855 {
1856 m_t << "<a class=\"elRef\" ";
1858 }
1859 else
1860 {
1861 m_t << "<a class=\"el\" ";
1862 }
1863 m_t << "href=\"";
1864 QCString fn = f;
1866 m_t << createHtmlUrl(m_relPath,ref,true,
1867 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1868 fn,
1869 anchor);
1870 m_t << "\">";
1871 docify(name);
1872 m_t << "</a>";
1873}

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

1652{
1653 t << substituteHtmlKeywords(g_footer_file,g_footer,convertToHtml(lastTitle),relPath,navPath);
1654}

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

3678{
3679 m_t << "<div id=\"page-nav\" class=\"page-nav-panel\">\n";
3680 m_t << "<div id=\"page-nav-resize-handle\"></div>\n";
3681 m_t << "<div id=\"page-nav-tree\">\n";
3682 m_t << "<div id=\"page-nav-contents\">\n";
3683 m_t << "</div><!-- page-nav-contents -->\n";
3684 m_t << "</div><!-- page-nav-tree -->\n";
3685 m_t << "</div><!-- page-nav -->\n";
3686}

References OutputGenerator::m_t.

◆ writeQuickLinks()

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

Implements OutputGenIntf.

Definition at line 3191 of file htmlgen.cpp.

3192{
3193 writeDefaultQuickLinks(m_t,hli,file,m_relPath,extraTabs);
3194}

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

1367{
1368 //bool serverBasedSearch = Config_getBool(SERVER_BASED_SEARCH);
1369 //writeImgData(dname,serverBasedSearch ? search_server_data : search_client_data);
1370 ResourceMgr &mgr = ResourceMgr::instance();
1371
1372 QCString searchDirName = dname;
1373 std::ofstream f = Portable::openOutputStream(searchDirName+"/search.css");
1374 if (f.is_open())
1375 {
1376 TextStream t(&f);
1377 QCString searchCss;
1378 // the position of the search box depends on a number of settings.
1379 // Insert the right piece of CSS code depending on which options are selected
1380 if (Config_getBool(GENERATE_TREEVIEW) && Config_getBool(FULL_SIDEBAR))
1381 {
1382 searchCss = mgr.getAsString("search_sidebar.css"); // we have a full height side bar
1383 }
1384 else if (Config_getBool(DISABLE_INDEX))
1385 {
1386 if (Config_getBool(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE)
1387 {
1388 searchCss = mgr.getAsString("search_nomenu_toggle.css"); // we have no tabs but do have a darkmode button
1389 }
1390 else
1391 {
1392 searchCss = mgr.getAsString("search_nomenu.css"); // we have no tabs and no darkmode button
1393 }
1394 }
1395 else if (!Config_getBool(HTML_DYNAMIC_MENUS))
1396 {
1397 searchCss = mgr.getAsString("search_fixedtabs.css"); // we have tabs, but they are static
1398 }
1399 else
1400 {
1401 searchCss = mgr.getAsString("search.css"); // default case with a dynamic menu bar
1402 }
1403 // and then add the option independent part of the styling
1404 searchCss += mgr.getAsString("search_common.css");
1405 searchCss = substitute(searchCss,"$doxygenversion",getDoxygenVersion());
1406 t << replaceVariables(searchCss);
1407 Doxygen::indexList->addStyleSheetFile("search/search.css");
1408 }
1409}
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 1617 of file htmlgen.cpp.

1618{
1620}
static void writeSearchInfoStatic(TextStream &t, const QCString &relPath)
Definition htmlgen.cpp:1587

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

◆ writeSearchInfoStatic()

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

Definition at line 1587 of file htmlgen.cpp.

1588{
1589 bool searchEngine = Config_getBool(SEARCHENGINE);
1590 bool serverBasedSearch = Config_getBool(SERVER_BASED_SEARCH);
1591 if (searchEngine && !serverBasedSearch)
1592 {
1593 t << "<!-- window showing the filter options -->\n";
1594 t << "<div id=\"MSearchSelectWindow\"\n";
1595 t << " onmouseover=\"return searchBox.OnSearchSelectShow()\"\n";
1596 t << " onmouseout=\"return searchBox.OnSearchSelectHide()\"\n";
1597 t << " onkeydown=\"return searchBox.OnSearchSelectKey(event)\">\n";
1598 t << "</div>\n";
1599 t << "\n";
1600 t << "<!-- iframe showing the search results (closed by default) -->\n";
1601 t << "<div id=\"MSearchResultsWindow\">\n";
1602 t << "<div id=\"MSearchResults\">\n";
1603 t << "<div class=\"SRPage\">\n";
1604 t << "<div id=\"SRIndex\">\n";
1605 t << "<div id=\"SRResults\"></div>\n"; // here the results will be inserted
1606 t << "<div class=\"SRStatus\" id=\"Loading\">" << theTranslator->trLoading() << "</div>\n";
1607 t << "<div class=\"SRStatus\" id=\"Searching\">" << theTranslator->trSearching() << "</div>\n";
1608 t << "<div class=\"SRStatus\" id=\"NoMatches\">" << theTranslator->trNoMatches() << "</div>\n";
1609 t << "</div>\n"; // SRIndex
1610 t << "</div>\n"; // SRPage
1611 t << "</div>\n"; // MSearchResults
1612 t << "</div>\n"; // MSearchResultsWindow
1613 t << "\n";
1614 }
1615}
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 3197 of file htmlgen.cpp.

3198{
3199 bool disableIndex = Config_getBool(DISABLE_INDEX);
3200 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3201 bool fullSidebar = Config_getBool(FULL_SIDEBAR);
3202 bool quickLinksAfterSplitbar = !disableIndex && generateTreeView && fullSidebar;
3203 QCString projectName = Config_getString(PROJECT_NAME);
3204 QCString htmlOutput = Config_getString(HTML_OUTPUT);
3205
3206 // OPENSEARCH_PROVIDER {
3207 QCString configFileName = htmlOutput+"/search_config.php";
3208 std::ofstream f = Portable::openOutputStream(configFileName);
3209 if (f.is_open())
3210 {
3211 TextStream t(&f);
3212 t << "<?php\n\n";
3213 t << "$config = array(\n";
3214 t << " 'PROJECT_NAME' => \"" << convertToHtml(projectName) << "\",\n";
3215 t << " 'GENERATE_TREEVIEW' => " << (generateTreeView?"true":"false") << ",\n";
3216 t << " 'DISABLE_INDEX' => " << (disableIndex?"true":"false") << ",\n";
3217 t << " 'FULL_SIDEBAR' => " << (fullSidebar?"true":"false") << ",\n";
3218 t << ");\n\n";
3219 t << "$translator = array(\n";
3220 t << " 'search_results_title' => \"" << theTranslator->trSearchResultsTitle() << "\",\n";
3221 t << " 'search_results' => array(\n";
3222 t << " 0 => \"" << theTranslator->trSearchResults(0) << "\",\n";
3223 t << " 1 => \"" << theTranslator->trSearchResults(1) << "\",\n";
3224 t << " 2 => \"" << substitute(theTranslator->trSearchResults(2), "$", "\\$") << "\",\n";
3225 t << " ),\n";
3226 t << " 'search_matches' => \"" << theTranslator->trSearchMatches() << "\",\n";
3227 t << " 'search' => \"" << theTranslator->trSearch() << "\",\n";
3228 t << " 'logo' => \"" << substitute(substitute(writeLogoAsString(""), "\"","\\\""), "\n","\\n") << "\",\n";
3229 t << ");\n\n";
3230 t << "?>\n";
3231 }
3232 f.close();
3233
3234 ResourceMgr::instance().copyResource("search_functions.php",htmlOutput);
3235 ResourceMgr::instance().copyResource("search_opensearch.php",htmlOutput);
3236 // OPENSEARCH_PROVIDER }
3237
3238 QCString fileName = htmlOutput+"/search.php";
3240 if (f.is_open())
3241 {
3242 TextStream t(&f);
3244
3245 t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
3246 << getDoxygenVersion() << " -->\n";
3247 t << "<script type=\"text/javascript\">\n";
3248 t << "let searchBox = new SearchBox(\"searchBox\", \""
3249 << "search/\",'" << Doxygen::htmlFileExtension << "');\n";
3250 t << "</script>\n";
3251
3252 if (!disableIndex && !quickLinksAfterSplitbar)
3253 {
3254 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3255 }
3256 if (generateTreeView)
3257 {
3258 t << "</div><!-- top -->\n";
3259 }
3260 t << writeSplitBarAsString("search.php",QCString(),QCString());
3261 if (quickLinksAfterSplitbar)
3262 {
3263 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3264 }
3265 t << "<!-- generated -->\n";
3266
3267 t << "<?php\n";
3268 t << "require_once \"search_functions.php\";\n";
3269 t << "main();\n";
3270 t << "?>\n";
3271
3272 // Write empty navigation path, to make footer connect properly
3273 if (generateTreeView)
3274 {
3275 t << "</div><!-- doc-content -->\n";
3276 t << "</div><!-- container -->\n";
3277 }
3278
3279 writePageFooter(t,"Search","","");
3280 }
3281 f.close();
3282
3283 QCString scriptName = htmlOutput+"/search/search.js";
3284 f = Portable::openOutputStream(scriptName);
3285 if (f.is_open())
3286 {
3287 TextStream t(&f);
3288 t << ResourceMgr::instance().getAsString("extsearch.js");
3289 }
3290 else
3291 {
3292 err("Failed to open file '{}' for writing...\n",scriptName);
3293 }
3294}
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 3161 of file htmlgen.cpp.

3162{
3163 m_t << writeSplitBarAsString(name,m_relPath,allMembersFile);
3164}

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

3127{
3128 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3129 QCString result;
3130 // write split bar
3131 if (generateTreeView)
3132 {
3133 QCString fn = name;
3135 if (!Config_getBool(FULL_SIDEBAR))
3136 {
3137 result += QCString(
3138 "<div id=\"side-nav\" class=\"ui-resizable side-nav-resizable\">\n");
3139 }
3140 result+=
3141 " <div id=\"nav-tree\">\n"
3142 " <div id=\"nav-tree-contents\">\n"
3143 " <div id=\"nav-sync\" class=\"sync\"></div>\n"
3144 " </div>\n"
3145 " </div>\n"
3146 " <div id=\"splitbar\" style=\"-moz-user-select:none;\" \n"
3147 " class=\"ui-resizable-handle\">\n"
3148 " </div>\n"
3149 "</div>\n"
3150 "<script type=\"text/javascript\">\n"
3151 "document.addEventListener('DOMContentLoaded',() => { initNavTree('" + fn + "','" + relpath + "','" + allMembersFile + "'); });\n"
3152 "</script>\n";
3153 if (Config_getBool(DISABLE_INDEX) || !Config_getBool(FULL_SIDEBAR))
3154 {
3155 result+="<div id=\"container\">\n<div id=\"doc-content\">\n";
3156 }
3157 }
3158 return result;
3159}

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

1841{
1842 m_t << "<li>";
1843 if (!path.isEmpty()) docify(path);
1844 QCString fn = f;
1846 m_t << "<a class=\"el\" href=\"" << fn << "\">";
1847 docify(name);
1848 m_t << "</a> ";
1849}

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

◆ writeString()

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

Implements OutputGenIntf.

Definition at line 1781 of file htmlgen.cpp.

1782{
1783 m_t << text;
1784}

References OutputGenerator::m_t.

◆ writeStyleInfo()

void HtmlGenerator::writeStyleInfo ( int part)
overridevirtual

Implements OutputGenIntf.

Definition at line 1676 of file htmlgen.cpp.

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

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

1529{
1532}

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

3651{
3652 if (first)
3653 {
3654 m_t << " <div class=\"summary\">\n";
3655 }
3656 else
3657 {
3658 m_t << " &#124;\n";
3659 }
3660 m_t << "<a href=\"";
3661 if (!file.isEmpty())
3662 {
3663 QCString fn = file;
3665 m_t << m_relPath << fn;
3666 }
3667 else if (!anchor.isEmpty())
3668 {
3669 m_t << "#";
3670 m_t << anchor;
3671 }
3672 m_t << "\">";
3673 m_t << title;
3674 m_t << "</a>";
3675}

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

1358{
1360 QCString dname=Config_getString(HTML_OUTPUT);
1361 ResourceMgr &mgr = ResourceMgr::instance();
1362 mgr.copyResource("doxygen.svg",dname);
1363 Doxygen::indexList->addImageFile("doxygen.svg");
1364}
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: