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

1156 : OutputGenerator(Config_getString(HTML_OUTPUT))
1157 , m_codeList(std::make_unique<OutputCodeList>())
1158{
1159 //printf("%p:HtmlGenerator()\n",(void*)this);
1160 m_codeGen = m_codeList->add<HtmlCodeGenerator>(&m_t);
1161}
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 1163 of file htmlgen.cpp.

1163 : OutputGenerator(og.m_dir), OutputGenIntf()
1164{
1165 //printf("%p:HtmlGenerator(copy %p)\n",(void*)this,(void*)&og);
1166 m_codeList = std::make_unique<OutputCodeList>(*og.m_codeList);
1167 m_codeGen = m_codeList->get<HtmlCodeGenerator>(OutputType::Html);
1168 m_codeGen->setTextStream(&m_t);
1171 m_relPath = og.m_relPath;
1174}
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 1196 of file htmlgen.cpp.

1197{
1199}
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 2677 of file htmlgen.cpp.

2678{
2679}

◆ addLabel()

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

Implements OutputGenIntf.

Definition at line 1777 of file htmlgen.cpp.

1778{
1779}

◆ cleanup()

void HtmlGenerator::cleanup ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1362 of file htmlgen.cpp.

1363{
1364 QCString dname = Config_getString(HTML_OUTPUT);
1365 Dir d(dname.str());
1366 clearSubDirs(d);
1367}
const std::string & str() const
Definition qcstring.h:552
void clearSubDirs(const Dir &d)
Definition util.cpp:3671

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

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

1979{
1980 if (!str.isEmpty())
1981 {
1982 const char *p=str.data();
1983 while (*p)
1984 {
1985 char c=*p++;
1986 switch(c)
1987 {
1988 case '<': m_t << "&lt;"; break;
1989 case '>': m_t << "&gt;"; break;
1990 case '&': m_t << "&amp;"; break;
1991 case '"': m_t << "&quot;"; break;
1992 case '-': if (inHtmlComment) m_t << "&#45;"; else m_t << "-"; break;
1993 case '\\':
1994 if (*p=='<')
1995 { m_t << "&lt;"; p++; }
1996 else if (*p=='>')
1997 { m_t << "&gt;"; p++; }
1998 else if (*p=='[')
1999 { m_t << "\\&zwj;["; p++; }
2000 else if (*p==']')
2001 { m_t << "\\&zwj;]"; p++; }
2002 else if (*p=='(')
2003 { m_t << "\\&zwj;("; p++; }
2004 else if (*p==')')
2005 { m_t << "\\&zwj;)"; p++; }
2006 else
2007 m_t << "\\";
2008 break;
2009 default: m_t << c;
2010 }
2011 }
2012 }
2013}

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

2601{
2606
2608
2611}
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool writeImageMap=TRUE, int graphId=-1)
QCString dir() const
Definition outputgen.cpp:52
QCString fileName() const
Definition outputgen.cpp:57
static void startSectionContent(TextStream &t, int sectionCount)
Definition htmlgen.cpp:2072
static void startSectionSummary(TextStream &t, int sectionCount)
Definition htmlgen.cpp:2050
static void endSectionContent(TextStream &t)
Definition htmlgen.cpp:2088
static void endSectionHeader(TextStream &t)
Definition htmlgen.cpp:2044
static void endSectionSummary(TextStream &t)
Definition htmlgen.cpp:2062
#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 2101 of file htmlgen.cpp.

2103{
2108 TextStream tt;
2110 if (!tt.empty())
2111 {
2112 m_t << " <div class=\"center\">\n";
2113 m_t << " <img src=\"";
2114 m_t << m_relPath << fileName << ".png\" usemap=\"#" << convertToId(name);
2115 m_t << "_map\" alt=\"\"/>\n";
2116 m_t << " <map id=\"" << convertToId(name);
2117 m_t << "_map\" name=\"" << convertToId(name);
2118 m_t << "_map\">\n";
2119 m_t << tt.str();
2120 m_t << " </map>\n";
2121 m_t << "</div>";
2122 }
2123 else
2124 {
2125 m_t << " <div class=\"center\">\n";
2126 m_t << " <img src=\"";
2127 m_t << m_relPath << fileName << ".png\" alt=\"\"/>\n";
2128 m_t << " </div>";
2129 }
2132}
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:3876

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

2205{
2206 m_t << "</div>";
2207}

References OutputGenerator::m_t.

◆ endConstraintDocs()

void HtmlGenerator::endConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3447 of file htmlgen.cpp.

3448{
3449 m_t << "</td></tr>\n";
3450}

References OutputGenerator::m_t.

◆ endConstraintList()

void HtmlGenerator::endConstraintList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3452 of file htmlgen.cpp.

3453{
3454 m_t << "</table>\n";
3455 m_t << "</dd>\n";
3456 m_t << "</dl>\n";
3457 m_t << "</div>\n";
3458}

References OutputGenerator::m_t.

◆ endConstraintParam()

void HtmlGenerator::endConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3427 of file htmlgen.cpp.

3428{
3429 m_t << "</em></td>";
3430}

References OutputGenerator::m_t.

◆ endConstraintType()

void HtmlGenerator::endConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3437 of file htmlgen.cpp.

3438{
3439 m_t << "</em></td>";
3440}

References OutputGenerator::m_t.

◆ endContents()

void HtmlGenerator::endContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3189 of file htmlgen.cpp.

3190{
3191 m_t << "</div><!-- contents -->\n";
3192}

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

2695{
2696 m_t << "</table>\n";
2697}

References OutputGenerator::m_t.

◆ endDescTableData()

void HtmlGenerator::endDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2734 of file htmlgen.cpp.

2735{
2736 m_t << "</td>";
2737}

References OutputGenerator::m_t.

◆ endDescTableInit()

void HtmlGenerator::endDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2724 of file htmlgen.cpp.

2725{
2726 m_t << "&#160;</td>";
2727}

References OutputGenerator::m_t.

◆ endDescTableRow()

void HtmlGenerator::endDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2704 of file htmlgen.cpp.

2705{
2706 m_t << "</tr>\n";
2707}

References OutputGenerator::m_t.

◆ endDescTableTitle()

void HtmlGenerator::endDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2714 of file htmlgen.cpp.

2715{
2716 m_t << "&#160;</td>";
2717}

References OutputGenerator::m_t.

◆ endDirDepGraph()

void HtmlGenerator::endDirDepGraph ( DotDirDeps & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2618 of file htmlgen.cpp.

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

2531{
2532 bool generateLegend = Config_getBool(GENERATE_LEGEND);
2533 bool umlLook = Config_getBool(UML_LOOK);
2538
2540 if (generateLegend && !umlLook)
2541 {
2542 QCString url = m_relPath+"graph_legend"+Doxygen::htmlFileExtension;
2543 m_t << "<center><span class=\"legend\">[";
2544 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
2545 m_t << "<a ";
2546 if (generateTreeView) m_t << "target=\"top\" ";
2547 m_t << "href=\"";
2548 if (!url.isEmpty()) m_t << url;
2549 m_t << "\">";
2551 m_t << "</a>";
2552 m_t << "]</span></center>";
2553 }
2554
2557}
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool TBRank=TRUE, bool imageMap=TRUE, int graphId=-1)
static QCString htmlFileExtension
Definition doxygen.h:122
bool isEmpty() const
Returns TRUE iff the string is empty.
Definition qcstring.h:163
virtual QCString trLegend()=0
#define Config_getBool(name)
Definition config.h:33
Translator * theTranslator
Definition language.cpp:71

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

◆ endDoxyAnchor()

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

Implements OutputGenIntf.

Definition at line 1773 of file htmlgen.cpp.

1774{
1775}

◆ endEmbeddedDoc()

void HtmlGenerator::endEmbeddedDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3566 of file htmlgen.cpp.

3567{
3568 DBG_HTML(m_t << "<!-- endEmbeddedDoc -->\n";)
3569 m_t << "</div>";
3570}
#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 2746 of file htmlgen.cpp.

2747{
2748 m_t << "</dl>\n";
2749}

References OutputGenerator::m_t.

◆ endFile()

void HtmlGenerator::endFile ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1674 of file htmlgen.cpp.

1675{
1676 endPlainFile();
1677}
void endPlainFile() override
Definition htmlgen.h:334

References endPlainFile().

◆ endGroupCollaboration()

void HtmlGenerator::endGroupCollaboration ( DotGroupCollaboration & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2582 of file htmlgen.cpp.

2583{
2588
2590
2593}
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 1926 of file htmlgen.cpp.

1927{
1928 if (extraIndentLevel==2)
1929 {
1930 m_t << "</h4>\n";
1931 }
1932 else if (extraIndentLevel==1)
1933 {
1934 m_t << "</h3>\n";
1935 }
1936 else
1937 {
1938 m_t << "</h2>\n";
1939 }
1940}

References OutputGenerator::m_t.

◆ endHeaderSection()

void HtmlGenerator::endHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3489 of file htmlgen.cpp.

3490{
3491 m_t << "</div><!--header-->\n";
3492}

References OutputGenerator::m_t.

◆ endInclDepGraph()

void HtmlGenerator::endInclDepGraph ( DotInclDepGraph & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2564 of file htmlgen.cpp.

2565{
2570
2572
2575}
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 2671 of file htmlgen.cpp.

2672{
2673 DBG_HTML(m_t << "<!-- endIndent -->\n";)
2674 m_t << "\n</div>\n" << "</div>\n";
2675}

References DBG_HTML, and OutputGenerator::m_t.

◆ endIndexItem()

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

Implements OutputGenIntf.

Definition at line 1839 of file htmlgen.cpp.

1840{
1841 //printf("HtmlGenerator::endIndexItem(%s,%s,%s)\n",ref,f,name);
1842 if (!ref.isEmpty() || !f.isEmpty())
1843 {
1844 m_t << "</a>";
1845 }
1846 else
1847 {
1848 m_t << "</b>";
1849 }
1850}

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

◆ endIndexKey()

void HtmlGenerator::endIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2334 of file htmlgen.cpp.

2335{
2336 //m_t << "</td>";
2337}

◆ endIndexList()

void HtmlGenerator::endIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2324 of file htmlgen.cpp.

2325{
2326 m_t << "</table>\n";
2327}

References OutputGenerator::m_t.

◆ endIndexListItem()

void HtmlGenerator::endIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1804 of file htmlgen.cpp.

1805{
1806 m_t << "</li>\n";
1807}

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

2345{
2346 //m_t << "</td></tr>\n";
2347}

◆ endInlineHeader()

void HtmlGenerator::endInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3504 of file htmlgen.cpp.

3505{
3506 m_t << "</h3></td></tr>\n";
3507}

References OutputGenerator::m_t.

◆ endInlineMemberDoc()

void HtmlGenerator::endInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3554 of file htmlgen.cpp.

3555{
3556 DBG_HTML(m_t << "<!-- endInlineMemberDoc -->\n";)
3557 m_t << "</td></tr>\n";
3558}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberName()

void HtmlGenerator::endInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3542 of file htmlgen.cpp.

3543{
3544 DBG_HTML(m_t << "<!-- endInlineMemberName -->\n";)
3545 m_t << "</td>\n";
3546}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberType()

void HtmlGenerator::endInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3530 of file htmlgen.cpp.

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

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

3619{
3620 DBG_HTML(m_t << "<!-- endLabels -->\n";)
3621 m_t << "</span>";
3622}

References DBG_HTML, and OutputGenerator::m_t.

◆ endLocalToc()

void HtmlGenerator::endLocalToc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3721 of file htmlgen.cpp.

3722{
3723 if (m_tocState.level > m_tocState.maxLevel) m_tocState.level = m_tocState.maxLevel;
3724 while (m_tocState.level>0)
3725 {
3726 m_tocState.decIndent(m_t,"</li>");
3727 m_tocState.decIndent(m_t,"</ul>");
3728 m_tocState.level--;
3729 }
3730 m_t << "</div>\n";
3731}
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 3701 of file htmlgen.cpp.

3702{
3703}

◆ endMemberDescription()

void HtmlGenerator::endMemberDescription ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2248 of file htmlgen.cpp.

2249{
2250 DBG_HTML(m_t << "<!-- endMemberDescription -->\n")
2251 m_t << "<br /></td></tr>\n";
2252}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDoc()

void HtmlGenerator::endMemberDoc ( bool hasArgs)
overridevirtual

Implements OutputGenIntf.

Definition at line 2514 of file htmlgen.cpp.

2515{
2516 DBG_HTML(m_t << "<!-- endMemberDoc -->\n";)
2517 if (!hasArgs)
2518 {
2519 m_t << " </tr>\n";
2520 }
2521 m_t << " </table>\n";
2522 // m_t << "</div>\n";
2523}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocList()

void HtmlGenerator::endMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2354 of file htmlgen.cpp.

2355{
2356 DBG_HTML(m_t << "<!-- endMemberDocList -->\n";)
2357}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocName()

void HtmlGenerator::endMemberDocName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2398 of file htmlgen.cpp.

2399{
2400 DBG_HTML(m_t << "<!-- endMemberDocName -->\n";)
2401 m_t << "</td>\n";
2402}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocPrefixItem()

void HtmlGenerator::endMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2382 of file htmlgen.cpp.

2383{
2384 DBG_HTML(m_t << "<!-- endMemberDocPrefixItem -->\n";)
2385 m_t << "</div>\n";
2386}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocSimple()

void HtmlGenerator::endMemberDocSimple ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 3518 of file htmlgen.cpp.

3519{
3520 DBG_HTML(m_t << "<!-- endMemberDocSimple -->\n";)
3521 m_t << "</table>\n";
3522}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberGroup()

void HtmlGenerator::endMemberGroup ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2660 of file htmlgen.cpp.

2661{
2662}

◆ endMemberGroupDocs()

void HtmlGenerator::endMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2651 of file htmlgen.cpp.

2652{
2653 m_t << "</div></td></tr>\n";
2654}

References OutputGenerator::m_t.

◆ endMemberGroupHeader()

void HtmlGenerator::endMemberGroupHeader ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2641 of file htmlgen.cpp.

2642{
2643 m_t << "</div></td></tr>\n";
2644}

References OutputGenerator::m_t.

◆ endMemberHeader()

void HtmlGenerator::endMemberHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2296 of file htmlgen.cpp.

2297{
2298 DBG_HTML(m_t << "<!-- endMemberHeader -->\n")
2299 m_t << "</h2></td></tr>\n";
2300}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberItem()

void HtmlGenerator::endMemberItem ( MemberItemType type)
overridevirtual

Implements OutputGenIntf.

Definition at line 2173 of file htmlgen.cpp.

2174{
2176 {
2177 insertMemberAlign(false);
2178 }
2179 m_t << "</td></tr>\n";
2180}
OutputType type() const override
Definition htmlgen.h:121
void insertMemberAlign(bool) override
Definition htmlgen.cpp:2209

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

◆ endMemberList()

void HtmlGenerator::endMemberList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2140 of file htmlgen.cpp.

2141{
2142 DBG_HTML(m_t << "<!-- endMemberList -->\n")
2143}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberSections()

void HtmlGenerator::endMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2262 of file htmlgen.cpp.

2263{
2264 DBG_HTML(m_t << "<!-- endMemberSections -->\n")
2265 if (!m_emptySection)
2266 {
2267 m_t << "</table>\n";
2268 }
2269}

References DBG_HTML, m_emptySection, and OutputGenerator::m_t.

◆ endMemberSubtitle()

void HtmlGenerator::endMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2313 of file htmlgen.cpp.

2314{
2315 DBG_HTML(m_t << "<!-- endMemberSubtitle -->\n")
2316 m_t << "</td></tr>\n";
2317}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberTemplateParams()

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

Implements OutputGenIntf.

Definition at line 2186 of file htmlgen.cpp.

2187{
2188 bool dynamicSections = Config_getBool(HTML_DYNAMIC_SECTIONS);
2189 m_t << "</td></tr>\n";
2190 m_t << "<tr class=\"memitem:" << convertToId(anchor);
2191 if (!inheritId.isEmpty())
2192 {
2193 if (dynamicSections) m_t << " inherit";
2194 m_t << " " << inheritId;
2195 }
2196 m_t << " template\"><td class=\"memItemLeft\">";
2197}

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

◆ endPageDoc()

void HtmlGenerator::endPageDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3199 of file htmlgen.cpp.

3200{
3201 m_t << "</div><!-- PageDoc -->\n";
3202}

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

1790{
1791 m_t << "</p>\n";
1792}

References OutputGenerator::m_t.

◆ endParameterDefVal()

void HtmlGenerator::endParameterDefVal ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2483 of file htmlgen.cpp.

2484{
2485 m_t << "</span>";
2486}

References OutputGenerator::m_t.

◆ endParameterExtra()

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

Implements OutputGenIntf.

Definition at line 2452 of file htmlgen.cpp.

2453{
2454 DBG_HTML(m_t << "<!-- endParameterExtra -->\n";)
2455 if (last)
2456 {
2457 if (emptyList)
2458 {
2459 if (closeBracket) m_t << "</td><td>)";
2460 m_t << "</td>\n";
2461 m_t << " <td>";
2462 }
2463 else
2464 {
2465 m_t << "&#160;";
2466 if (closeBracket) m_t << ")";
2467 }
2468 }
2469 else
2470 {
2471 m_t << "</td>\n";
2472 m_t << " </tr>\n";
2473 }
2474}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterList()

void HtmlGenerator::endParameterList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2488 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterName()

void HtmlGenerator::endParameterName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2441 of file htmlgen.cpp.

2442{
2443 DBG_HTML(m_t << "<!-- endParameterName -->\n";)
2444 m_t << "</em></span>";
2445}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterType()

void HtmlGenerator::endParameterType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2429 of file htmlgen.cpp.

2430{
2431 DBG_HTML(m_t << "<!-- endParameterType -->\n";)
2432 m_t << "</td>";
2433}

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

1685{
1686 m_t << "</h3>";
1687}

References OutputGenerator::m_t.

◆ endQuickIndices()

void HtmlGenerator::endQuickIndices ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3129 of file htmlgen.cpp.

3130{
3131 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3132 m_t << "</div><!-- top -->\n";
3133 if (!generateTreeView)
3134 {
3135 m_t << "<div id=\"doc-content\">\n";
3136 }
3137}

References Config_getBool, and OutputGenerator::m_t.

◆ endSection()

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

Implements OutputGenIntf.

Definition at line 1958 of file htmlgen.cpp.

1959{
1960 switch(type.level())
1961 {
1962 case SectionType::Page: m_t << "</h1>"; break;
1963 case SectionType::Section: m_t << "</h2>"; break;
1964 case SectionType::Subsection: m_t << "</h3>"; break;
1965 case SectionType::Subsubsection: m_t << "</h4>"; break;
1966 case SectionType::Paragraph: m_t << "</h5>"; break;
1967 case SectionType::Subparagraph: m_t << "</h6>"; break;
1968 case SectionType::Subsubparagraph: m_t << "</h6>"; break;
1969 default: ASSERT(0); break;
1970 }
1971}
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 1900 of file htmlgen.cpp.

1901{
1902 m_t << "</a>";
1903}

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

3484{
3485 endTitle();
3486 m_t << "</div>\n";
3487}
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 3777 of file htmlgen.cpp.

3778{
3779 SectionType type = si->type();
3780 int nextLevel = type.level();
3781 if (type.isSection() && nextLevel<=m_tocState.maxLevel)
3782 {
3783 m_t << "</a>\n";
3784 m_tocState.inLi[nextLevel]=true;
3785 m_tocState.level = nextLevel;
3786 }
3787}
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 2495 of file htmlgen.cpp.

2496{
2497 DBG_HTML(m_t << "<!-- exceptionEntry -->\n";)
2498 if (!closeBracket)
2499 {
2500 m_t << "</td>\n";
2501 m_t << " </tr>\n";
2502 m_t << " <tr>\n";
2503 m_t << " <td align=\"right\">";
2504 }
2505 // colspan 2 so it gets both parameter type and parameter name columns
2506 if (!prefix.isEmpty())
2507 m_t << prefix << "</td><td>(</td><td colspan=\"2\">";
2508 else if (closeBracket)
2509 m_t << "&#160;)</td><td></td><td></td><td>";
2510 else
2511 m_t << "</td><td></td><td colspan=\"2\">";
2512}
constexpr auto prefix
Definition anchor.cpp:44

References DBG_HTML, OutputGenerator::m_t, and prefix.

◆ getNavTreeCss()

QCString HtmlGenerator::getNavTreeCss ( )
static

Definition at line 3705 of file htmlgen.cpp.

3706{
3707 ResourceMgr &mgr = ResourceMgr::instance();
3708 return replaceVariables(mgr.getAsString("navtree.css"));
3709}
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:713

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

Referenced by init().

◆ init()

void HtmlGenerator::init ( )
static

Definition at line 1210 of file htmlgen.cpp.

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

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

2210{
2211 DBG_HTML(m_t << "<!-- insertMemberAlign -->\n")
2212 m_t << "&#160;</td><td class=\"memItemRight\">";
2213}

References DBG_HTML, and OutputGenerator::m_t.

Referenced by endMemberItem().

◆ insertMemberAlignLeft()

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

Implements OutputGenIntf.

Definition at line 2215 of file htmlgen.cpp.

2216{
2217 if (!initTag) m_t << "&#160;</td>";
2218 switch (type)
2219 {
2220 case MemberItemType::Normal: m_t << "<td class=\"memItemLeft\">"; break;
2221 case MemberItemType::AnonymousStart: m_t << "<td class=\"memItemLeft anon\">"; break;
2222 case MemberItemType::AnonymousEnd: m_t << "<td class=\"memItemLeft anonEnd\">"; break;
2223 case MemberItemType::Templated: m_t << "<td class=\"memTemplParams\" colspan=\"2\">"; break;
2224 }
2225}

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

3461{
3462 if (!style.isEmpty())
3463 {
3464 m_t << "<br class=\"" << style << "\" />\n";
3465 }
3466 else
3467 {
3468 m_t << "<br />\n";
3469 }
3470}

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

◆ operator=() [1/2]

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

Definition at line 1176 of file htmlgen.cpp.

1177{
1178 //printf("%p:HtmlGenerator(copy assign %p)\n",(void*)this,(void*)&og);
1179 if (this!=&og)
1180 {
1181 m_dir = og.m_dir;
1182 m_codeList = std::make_unique<OutputCodeList>(*og.m_codeList);
1183 m_codeGen = m_codeList->get<HtmlCodeGenerator>(OutputType::Html);
1184 m_codeGen->setTextStream(&m_t);
1187 m_relPath = og.m_relPath;
1190 }
1191 return *this;
1192}

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

2596{
2598}
static void startSectionHeader(TextStream &t, const QCString &relPath, int sectionCount)
Definition htmlgen.cpp:2025

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

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

◆ startCompoundTemplateParams()

void HtmlGenerator::startCompoundTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2199 of file htmlgen.cpp.

2200{
2201 m_t << "<div class=\"compoundTemplParams\">";
2202}

References OutputGenerator::m_t.

◆ startConstraintDocs()

void HtmlGenerator::startConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3442 of file htmlgen.cpp.

3443{
3444 m_t << "<td>&#160;";
3445}

References OutputGenerator::m_t.

◆ startConstraintList()

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

Implements OutputGenIntf.

Definition at line 3415 of file htmlgen.cpp.

3416{
3417 m_t << "<div class=\"typeconstraint\">\n";
3418 m_t << "<dl><dt><b>" << header << "</b></dt><dd>\n";
3419 m_t << "<table border=\"0\" cellspacing=\"2\" cellpadding=\"0\">\n";
3420}

References OutputGenerator::m_t.

◆ startConstraintParam()

void HtmlGenerator::startConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3422 of file htmlgen.cpp.

3423{
3424 m_t << "<tr><td valign=\"top\"><em>";
3425}

References OutputGenerator::m_t.

◆ startConstraintType()

void HtmlGenerator::startConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3432 of file htmlgen.cpp.

3433{
3434 m_t << "<td>&#160;:</td><td valign=\"top\"><em>";
3435}

References OutputGenerator::m_t.

◆ startContents()

void HtmlGenerator::startContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3184 of file htmlgen.cpp.

3185{
3186 m_t << "<div class=\"contents\">\n";
3187}

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

2690{
2691 m_t << "<table class=\"fieldtable\">\n"
2692 << "<tr><th colspan=\"" << (hasInits?3:2) << "\">" << title << "</th></tr>";
2693}

References OutputGenerator::m_t.

◆ startDescTableData()

void HtmlGenerator::startDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2729 of file htmlgen.cpp.

2730{
2731 m_t << "<td class=\"fielddoc\">";
2732}

References OutputGenerator::m_t.

◆ startDescTableInit()

void HtmlGenerator::startDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2719 of file htmlgen.cpp.

2720{
2721 m_t << "<td class=\"fieldinit\">";
2722}

References OutputGenerator::m_t.

◆ startDescTableRow()

void HtmlGenerator::startDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2699 of file htmlgen.cpp.

2700{
2701 m_t << "<tr>";
2702}

References OutputGenerator::m_t.

◆ startDescTableTitle()

void HtmlGenerator::startDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2709 of file htmlgen.cpp.

2710{
2711 m_t << "<td class=\"fieldname\">";
2712}

References OutputGenerator::m_t.

◆ startDirDepGraph()

void HtmlGenerator::startDirDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2613 of file htmlgen.cpp.

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

◆ startDotGraph()

void HtmlGenerator::startDotGraph ( )
overridevirtual

Implements OutputGenIntf.

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

1769{
1770 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>";
1771}

References OutputGenerator::m_t.

◆ startEmbeddedDoc()

void HtmlGenerator::startEmbeddedDoc ( int indent)
overridevirtual

Implements OutputGenIntf.

Definition at line 3560 of file htmlgen.cpp.

3561{
3562 DBG_HTML(m_t << "<!-- startEmbeddedDoc -->\n";)
3563 m_t << "<div class=\"embeddoc\" style=\"margin-left:" << indent << "ch;\">";
3564}

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

2740{
2741 m_t << "<dl class=\"section examples\"><dt>";
2743 m_t << "</dt>";
2744}
void docify(const QCString &text) override
Definition htmlgen.cpp:1973
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 1561 of file htmlgen.cpp.

1563{
1564 //printf("HtmlGenerator::startFile(%s)\n",qPrint(name));
1566 QCString fileName = name;
1568 m_lastTitle=title;
1569
1571 m_codeGen->setFileName(fileName);
1572 m_codeGen->setRelativePath(m_relPath);
1573 {
1574 std::lock_guard<std::mutex> lock(g_indexLock);
1576 }
1577
1580
1581 m_t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
1582 << getDoxygenVersion() << " -->\n";
1583 bool searchEngine = Config_getBool(SEARCHENGINE);
1584 if (searchEngine /*&& !generateTreeView*/)
1585 {
1586 m_t << "<script type=\"text/javascript\">\n";
1587 m_t << "let searchBox = new SearchBox(\"searchBox\", \""
1588 << m_relPath<< "search/\",'" << Doxygen::htmlFileExtension << "');\n";
1589 m_t << "</script>\n";
1590 }
1591 if (Config_getBool(HTML_CODE_FOLDING))
1592 {
1593 m_t << "<script type=\"text/javascript\">\n";
1594 m_t << "document.addEventListener('DOMContentLoaded', codefold.init);\n";
1595 m_t << "</script>\n";
1596 }
1598}
static IndexList * indexList
Definition doxygen.h:132
void startPlainFile(const QCString &name) override
Definition htmlgen.h:333
void addIndexFile(const QCString &name)
Definition indexlist.h:120
virtual QCString trGeneratedBy()=0
static std::mutex g_indexLock
Definition htmlgen.cpp:1559
QCString convertToHtml(const QCString &s, bool keepEntities)
Definition util.cpp:3967
QCString relativePathToRoot(const QCString &name)
Definition util.cpp:3583
QCString filterTitle(const QCString &title)
Definition util.cpp:5633
void addHtmlExtensionIfMissing(QCString &fName)
Definition util.cpp:4925

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

1906{
1907 if (extraIndentLevel==2)
1908 {
1909 m_t << "<h4";
1910 }
1911 else if (extraIndentLevel==1)
1912 {
1913 m_t << "<h3";
1914 }
1915 else // extraIndentLevel==0
1916 {
1917 m_t << "<h2";
1918 }
1919 if (!id.isEmpty())
1920 {
1921 m_t <<" id=\"header-"+convertToId(id)+"\"";
1922 }
1923 m_t << " class=\"groupheader\">";
1924}

References convertToId(), and OutputGenerator::m_t.

◆ startHeaderSection()

void HtmlGenerator::startHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3472 of file htmlgen.cpp.

3473{
3474 m_t << "<div class=\"header\">\n";
3475}

References OutputGenerator::m_t.

◆ startInclDepGraph()

void HtmlGenerator::startInclDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2559 of file htmlgen.cpp.

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

◆ startIndent()

void HtmlGenerator::startIndent ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2664 of file htmlgen.cpp.

2665{
2666 DBG_HTML(m_t << "<!-- startIndent -->\n";)
2667
2668 m_t << "<div class=\"memdoc\">\n";
2669}

References DBG_HTML, and OutputGenerator::m_t.

◆ startIndexItem()

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

Implements OutputGenIntf.

Definition at line 1809 of file htmlgen.cpp.

1810{
1811 //printf("HtmlGenerator::startIndexItem(%s,%s)\n",ref,f);
1812 if (!ref.isEmpty() || !f.isEmpty())
1813 {
1814 if (!ref.isEmpty())
1815 {
1816 m_t << "<a class=\"elRef\" ";
1818 }
1819 else
1820 {
1821 m_t << "<a class=\"el\" ";
1822 }
1823 m_t << "href=\"";
1824 m_t << externalRef(m_relPath,ref,TRUE);
1825 if (!f.isEmpty())
1826 {
1827 QCString fn=f;
1829 m_t << fn;
1830 }
1831 m_t << "\">";
1832 }
1833 else
1834 {
1835 m_t << "<b>";
1836 }
1837}
QCString externalRef(const QCString &relPath, const QCString &ref, bool href)
Definition util.cpp:5776
QCString externalLinkTarget(const bool parent)
Definition util.cpp:5728

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

◆ startIndexKey()

void HtmlGenerator::startIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2329 of file htmlgen.cpp.

2330{
2331 //m_t << " <tr><td class=\"indexkey\">";
2332}

◆ startIndexList()

void HtmlGenerator::startIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2319 of file htmlgen.cpp.

2320{
2321 m_t << "<table>\n";
2322}

References OutputGenerator::m_t.

◆ startIndexListItem()

void HtmlGenerator::startIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1799 of file htmlgen.cpp.

1800{
1801 m_t << "<li>";
1802}

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

2340{
2341 //m_t << "<td class=\"indexvalue\">";
2342}

◆ startInlineHeader()

void HtmlGenerator::startInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3494 of file htmlgen.cpp.

3495{
3496 if (m_emptySection)
3497 {
3498 m_t << "<table class=\"memberdecls\">\n";
3500 }
3501 m_t << "<tr><td colspan=\"2\"><h3>";
3502}

References FALSE, m_emptySection, and OutputGenerator::m_t.

◆ startInlineMemberDoc()

void HtmlGenerator::startInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3548 of file htmlgen.cpp.

3549{
3550 DBG_HTML(m_t << "<!-- startInlineMemberDoc -->\n";)
3551 m_t << "<td class=\"fielddoc\">\n";
3552}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberName()

void HtmlGenerator::startInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3536 of file htmlgen.cpp.

3537{
3538 DBG_HTML(m_t << "<!-- startInlineMemberName -->\n";)
3539 m_t << "<td class=\"fieldname\">\n";
3540}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberType()

void HtmlGenerator::startInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3524 of file htmlgen.cpp.

3525{
3526 DBG_HTML(m_t << "<!-- startInlineMemberType -->\n";)
3527 m_t << "<tr><td class=\"fieldtype\">\n";
3528}

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

3573{
3574 DBG_HTML(m_t << "<!-- startLabels -->\n";)
3575 m_t << "<span class=\"mlabels\">";
3576}

References DBG_HTML, and OutputGenerator::m_t.

◆ startLocalToc()

void HtmlGenerator::startLocalToc ( int level)
overridevirtual

Implements OutputGenIntf.

Definition at line 3711 of file htmlgen.cpp.

3712{
3713 m_tocState.level=0;
3714 m_tocState.indent=0;
3715 m_tocState.maxLevel=level;
3716 m_tocState.inLi = BoolVector(level+1,false);
3717 m_t << "<div class=\"toc\">";
3718 m_t << "<h3>" << theTranslator->trRTFTableOfContents() << "</h3>\n";
3719}
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 2227 of file htmlgen.cpp.

2228{
2229 DBG_HTML(m_t << "<!-- startMemberDescription -->\n")
2230 bool dynamicSections = Config_getBool(HTML_DYNAMIC_SECTIONS);
2231 if (m_emptySection)
2232 {
2233 m_t << "<table class=\"memberdecls\">\n";
2235 }
2236 m_t << "<tr class=\"memdesc:" << anchor;
2237 if (!inheritId.isEmpty())
2238 {
2239 if (dynamicSections) m_t << " inherit";
2240 m_t << " " << inheritId;
2241 }
2242 m_t << "\">";
2243 m_t << "<td class=\"mdescLeft\">&#160;</td>";
2244 if (typ) m_t << "<td class=\"mdescLeft\">&#160;</td>";
2245 m_t << "<td class=\"mdescRight\">";
2246}

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

2362{
2363 DBG_HTML(m_t << "<!-- startMemberDoc -->\n";)
2364 m_t << "\n<h2 class=\"memtitle\">"
2365 << "<span class=\"permalink\"><a href=\"#" << anchor << "\">&#9670;&#160;</a></span>";
2366 docify(title);
2367 if (memTotal>1)
2368 {
2369 m_t << " <span class=\"overload\">[" << memCount << "/" << memTotal <<"]</span>";
2370 }
2371 m_t << "</h2>\n";
2372 m_t << "\n<div class=\"memitem\">\n";
2373 m_t << "<div class=\"memproto\">\n";
2374}

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

◆ startMemberDocList()

void HtmlGenerator::startMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2349 of file htmlgen.cpp.

2350{
2351 DBG_HTML(m_t << "<!-- startMemberDocList -->\n";)
2352}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocName()

void HtmlGenerator::startMemberDocName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2388 of file htmlgen.cpp.

2389{
2390 DBG_HTML(m_t << "<!-- startMemberDocName -->\n";)
2391
2392 m_t << " <table class=\"memname\">\n";
2393
2394 m_t << " <tr>\n";
2395 m_t << " <td class=\"memname\">";
2396}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocPrefixItem()

void HtmlGenerator::startMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2376 of file htmlgen.cpp.

2377{
2378 DBG_HTML(m_t << "<!-- startMemberDocPrefixItem -->\n";)
2379 m_t << "<div class=\"memtemplate\">\n";
2380}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocSimple()

void HtmlGenerator::startMemberDocSimple ( bool isEnum)
overridevirtual

Implements OutputGenIntf.

Definition at line 3509 of file htmlgen.cpp.

3510{
3511 DBG_HTML(m_t << "<!-- startMemberDocSimple -->\n";)
3512 m_t << "<table class=\"fieldtable\">\n";
3513 m_t << "<tr><th colspan=\"" << (isEnum?"2":"3") << "\">";
3514 m_t << (isEnum? theTranslator->trEnumerationValues() :
3515 theTranslator->trCompoundMembers()) << "</th></tr>\n";
3516}
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 2656 of file htmlgen.cpp.

2657{
2658}

◆ startMemberGroupDocs()

void HtmlGenerator::startMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2646 of file htmlgen.cpp.

2647{
2648 m_t << "<tr><td colspan=\"2\" class=\"ititle\"><div class=\"groupText\">";
2649}

References OutputGenerator::m_t.

◆ startMemberGroupHeader()

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

Implements OutputGenIntf.

Definition at line 2636 of file htmlgen.cpp.

2637{
2638 m_t << "<tr id=\"" << id << "\" class=\"groupHeader\"><td colspan=\"2\"><div class=\"groupHeader\">";
2639}

References OutputGenerator::m_t.

◆ startMemberHeader()

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

Implements OutputGenIntf.

Definition at line 2271 of file htmlgen.cpp.

2272{
2273 DBG_HTML(m_t << "<!-- startMemberHeader -->\n")
2274 if (!m_emptySection)
2275 {
2276 m_t << "</table>";
2278 }
2279 if (m_emptySection)
2280 {
2281 m_t << "<table class=\"memberdecls\">\n";
2283 }
2284 m_t << "<tr class=\"heading\"><td colspan=\"" << typ << "\"><h2";
2285 if (!anchor.isEmpty())
2286 {
2287 m_t << " id=\"header-" << anchor << "\"";
2288 }
2289 m_t << " class=\"groupheader\">";
2290 if (!anchor.isEmpty())
2291 {
2292 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>\n";
2293 }
2294}

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

2150{
2151 DBG_HTML(m_t << "<!-- startMemberItem() -->\n")
2152 bool dynamicSections = Config_getBool(HTML_DYNAMIC_SECTIONS);
2153 if (m_emptySection)
2154 {
2155 m_t << "<table class=\"memberdecls\">\n";
2157 }
2158 m_t << "<tr class=\"memitem:" << convertToId(anchor);
2159 if (!inheritId.isEmpty())
2160 {
2161 if (dynamicSections) m_t << " inherit";
2162 m_t << " " << inheritId;
2163 }
2164 m_t << "\"";
2165 if (!anchor.isEmpty())
2166 {
2167 m_t << " id=\"r_" << convertToId(anchor) << "\"";
2168 }
2169 m_t << ">";
2171}
void insertMemberAlignLeft(MemberItemType, bool) override
Definition htmlgen.cpp:2215

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

2136{
2137 DBG_HTML(m_t << "<!-- startMemberList -->\n")
2138}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberSections()

void HtmlGenerator::startMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2254 of file htmlgen.cpp.

2255{
2256 DBG_HTML(m_t << "<!-- startMemberSections -->\n")
2257 m_emptySection=TRUE; // we postpone writing <table> until we actually
2258 // write a row to prevent empty tables, which
2259 // are not valid XHTML!
2260}

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

◆ startMemberSubtitle()

void HtmlGenerator::startMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2302 of file htmlgen.cpp.

2303{
2304 DBG_HTML(m_t << "<!-- startMemberSubtitle -->\n")
2305 if (m_emptySection)
2306 {
2307 m_t << "<table class=\"memberdecls\">\n";
2309 }
2310 m_t << "<tr><td class=\"ititle\" colspan=\"2\">";
2311}

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

◆ startMemberTemplateParams()

void HtmlGenerator::startMemberTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2182 of file htmlgen.cpp.

2183{
2184}

◆ startPageDoc()

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

Implements OutputGenIntf.

Definition at line 3194 of file htmlgen.cpp.

3195{
3196 m_t << "<div>";
3197}

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

1782{
1783 if (!classDef.isEmpty())
1784 m_t << "\n<p class=\"" << classDef << "\">";
1785 else
1786 m_t << "\n<p>";
1787}

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

◆ startParameterDefVal()

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

Implements OutputGenIntf.

Definition at line 2476 of file htmlgen.cpp.

2477{
2478 m_t << "<span class=\"paramdefsep\">";
2479 docify(s);
2480 m_t << "</span><span class=\"paramdefval\">";
2481}

References docify(), and OutputGenerator::m_t.

◆ startParameterExtra()

void HtmlGenerator::startParameterExtra ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2447 of file htmlgen.cpp.

2448{
2449 DBG_HTML(m_t << "<!-- startParameterExtra -->\n";)
2450}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterList()

void HtmlGenerator::startParameterList ( bool openBracket)
overridevirtual

Implements OutputGenIntf.

Definition at line 2404 of file htmlgen.cpp.

2405{
2406 DBG_HTML(m_t << "<!-- startParameterList -->\n";)
2407 m_t << " <td>";
2408 if (openBracket) m_t << "(";
2409 m_t << "</td>\n";
2410}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterName()

void HtmlGenerator::startParameterName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2435 of file htmlgen.cpp.

2436{
2437 DBG_HTML(m_t << "<!-- startParameterName -->\n";)
2438 m_t << " <td class=\"paramname\"><span class=\"paramname\"><em>";
2439}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterType()

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

Implements OutputGenIntf.

Definition at line 2412 of file htmlgen.cpp.

2413{
2414 if (first)
2415 {
2416 DBG_HTML(m_t << "<!-- startFirstParameterType -->\n";)
2417 m_t << " <td class=\"paramtype\">";
2418 }
2419 else
2420 {
2421 DBG_HTML(m_t << "<!-- startParameterType -->\n";)
2422 m_t << " <tr>\n";
2423 m_t << " <td class=\"paramkey\">" << key << "</td>\n";
2424 m_t << " <td></td>\n";
2425 m_t << " <td class=\"paramtype\">";
2426 }
2427}

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

1680{
1681 m_t << "<h3 class=\"version\">";
1682}

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

1943{
1944 switch(type.level())
1945 {
1946 case SectionType::Page: m_t << "\n\n<h1 class=\"doxsection\">"; break;
1947 case SectionType::Section: m_t << "\n\n<h2 class=\"doxsection\">"; break;
1948 case SectionType::Subsection: m_t << "\n\n<h3 class=\"doxsection\">"; break;
1949 case SectionType::Subsubsection: m_t << "\n\n<h4 class=\"doxsection\">"; break;
1950 case SectionType::Paragraph: m_t << "\n\n<h5 class=\"doxsection\">"; break;
1951 case SectionType::Subparagraph: m_t << "\n\n<h6 class=\"doxsection\">"; break;
1952 case SectionType::Subsubparagraph: m_t << "\n\n<h6 class=\"doxsection\">"; break;
1953 default: ASSERT(0); break;
1954 }
1955 m_t << "<a id=\"" << lab << "\" name=\"" << lab << "\"></a>";
1956}

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

1889{
1890 m_t << "<a href=\"";
1891 QCString fn = f;
1893 m_t << createHtmlUrl(m_relPath,"",true,
1894 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1895 fn,
1896 anchor);
1897 m_t << "\">";
1898}
QCString createHtmlUrl(const QCString &relPath, const QCString &ref, bool href, bool isLocalFile, const QCString &targetFileName, const QCString &anchor)
Definition util.cpp:5739

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

3478{
3479 m_t << " <div class=\"headertitle\">";
3480 startTitle();
3481}
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 3733 of file htmlgen.cpp.

3734{
3735 SectionType type = si->type();
3736 if (type.isSection())
3737 {
3738 //printf(" level=%d title=%s maxLevel=%d\n",level,qPrint(si->title()),maxLevel);
3739 int nextLevel = type.level();
3740 if (nextLevel>m_tocState.level)
3741 {
3742 for (int l=m_tocState.level;l<nextLevel;l++)
3743 {
3744 if (l < m_tocState.maxLevel)
3745 {
3746 m_tocState.incIndent(m_t,"<ul>");
3747 char cs[2] = { static_cast<char>('0'+l+1), 0 };
3748 const char *empty = (l!=nextLevel-1) ? " empty" : "";
3749 m_tocState.incIndent(m_t,"<li class=\"level" + QCString(cs) + empty + "\">");
3750 }
3751 }
3752 }
3753 else if (nextLevel<m_tocState.level)
3754 {
3755 for (int l=m_tocState.level;l>nextLevel;l--)
3756 {
3757 if (l <= m_tocState.maxLevel) m_tocState.decIndent(m_t,"</li>");
3758 m_tocState.inLi[l] = false;
3759 if (l <= m_tocState.maxLevel) m_tocState.decIndent(m_t,"</ul>");
3760 }
3761 }
3762 if (nextLevel <= m_tocState.maxLevel)
3763 {
3764 if (m_tocState.inLi[nextLevel] || m_tocState.level>nextLevel)
3765 {
3766 m_tocState.decIndent(m_t,"</li>");
3767 char cs[2] = { static_cast<char>('0'+nextLevel), 0 };
3768 m_tocState.incIndent(m_t,"<li class=\"level" + QCString(cs) + "\">");
3769 }
3770 QCString label = si->label();
3771 m_tocState.writeIndent(m_t);
3772 m_t << "<a href=\"#"+label+"\">";
3773 }
3774 }
3775}
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 2015 of file htmlgen.cpp.

2016{
2017 char cs[2];
2018 cs[0]=c;
2019 cs[1]=0;
2020 docify(cs);
2021}

References docify().

◆ writeDoc()

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

Implements OutputGenIntf.

Definition at line 2751 of file htmlgen.cpp.

2752{
2753 const DocNodeAST *astImpl = dynamic_cast<const DocNodeAST*>(ast);
2754 if (astImpl && sectionLevel<=m_tocState.maxLevel)
2755 {
2756 m_codeList->setId(id);
2757 HtmlDocVisitor visitor(m_t,*m_codeList,ctx,fileName());
2758 std::visit(visitor,astImpl->root);
2759 }
2760}
DocNodeVariant root
Definition docnode.h:1497

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

◆ writeExternalSearchPage()

void HtmlGenerator::writeExternalSearchPage ( )
static

Definition at line 3309 of file htmlgen.cpp.

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

1670{
1672}

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

◆ writeFooterFile()

void HtmlGenerator::writeFooterFile ( TextStream & t)
static

Definition at line 1553 of file htmlgen.cpp.

1554{
1555 t << "<!-- HTML footer for doxygen " << getDoxygenVersion() << "-->\n";
1556 t << ResourceMgr::instance().getAsString("footer.html");
1557}

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

Referenced by readConfiguration().

◆ writeGraphicalHierarchy()

void HtmlGenerator::writeGraphicalHierarchy ( DotGfxHierarchyTable & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2631 of file htmlgen.cpp.

2632{
2633 g.writeGraph(m_t,dir(),fileName());
2634}
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 1547 of file htmlgen.cpp.

1548{
1549 t << "<!-- HTML header for doxygen " << getDoxygenVersion() << "-->\n";
1550 t << ResourceMgr::instance().getAsString("header.html");
1551}

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

3628{
3629 DBG_HTML(m_t << "<!-- writeInheritedSectionTitle -->\n";)
3630 bool dynamicSections = Config_getBool(HTML_DYNAMIC_SECTIONS);
3631 QCString a = anchor;
3632 if (!a.isEmpty()) a.prepend("#");
3633 QCString classLink = QCString("<a class=\"el\" ");
3634 if (!ref.isEmpty())
3635 {
3636 classLink+= externalLinkTarget();
3637 classLink += " href=\"";
3638 classLink+= externalRef(m_relPath,ref,TRUE);
3639 }
3640 else
3641 {
3642 classLink += "href=\"";
3643 classLink+=m_relPath;
3644 }
3645 QCString fn = file;
3647 classLink=classLink+fn+a;
3648 classLink+=QCString("\">")+convertToHtml(name,FALSE)+"</a>";
3649 m_t << "<tr class=\"inherit_header " << id << "\">";
3650 if (dynamicSections)
3651 {
3652 m_t << "<td colspan=\"2\" onclick=\"javascript:dynsection.toggleInherit('" << id << "')\">";
3653 m_t << "<span class=\"dynarrow\"><span class=\"arrowhead closed\"></span></span>";
3654 }
3655 else
3656 {
3657 m_t << "<td colspan=\"2\">";
3658 }
3660 << "</td></tr>\n";
3661}
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 3578 of file htmlgen.cpp.

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

1659{
1661}
static QCString writeLogoAsString(const QCString &path)
Definition htmlgen.cpp:1636

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

◆ writeLogoAsString()

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

Definition at line 1636 of file htmlgen.cpp.

1637{
1638 QCString result;
1639 switch (Config_getEnum(TIMESTAMP))
1640 {
1641 case TIMESTAMP_t::NO:
1642 result = theTranslator->trGeneratedBy();
1643 break;
1644 default:
1645 result = theTranslator->trGeneratedAt("<span class=\"timestamp\"></span>",
1646 convertToHtml(Config_getString(PROJECT_NAME)));
1647 break;
1648 }
1649 result += "&#160;\n<a href=\"https://www.doxygen.org/index.html\">\n"
1650 "<img class=\"footer\" src=\"";
1651 result += path;
1652 result += "doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> ";
1653 result += getDoxygenVersion();
1654 result += " ";
1655 return result;
1656}
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 3179 of file htmlgen.cpp.

3180{
3181 m_t << substitute(s,"$relpath^",m_relPath);
3182}

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

◆ writeNonBreakableSpace()

void HtmlGenerator::writeNonBreakableSpace ( int n)
overridevirtual

Implements OutputGenIntf.

Definition at line 2681 of file htmlgen.cpp.

2682{
2683 for (int i=0; i<n; i++)
2684 {
2685 m_t << "&#160;";
2686 }
2687}

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

1866{
1867 if (!ref.isEmpty())
1868 {
1869 m_t << "<a class=\"elRef\" ";
1871 }
1872 else
1873 {
1874 m_t << "<a class=\"el\" ";
1875 }
1876 m_t << "href=\"";
1877 QCString fn = f;
1879 m_t << createHtmlUrl(m_relPath,ref,true,
1880 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1881 fn,
1882 anchor);
1883 m_t << "\">";
1884 docify(name);
1885 m_t << "</a>";
1886}

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

1665{
1666 t << substituteHtmlKeywords(g_footer_file,g_footer,convertToHtml(lastTitle),relPath,navPath);
1667}

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

3691{
3692 m_t << "<div id=\"page-nav\" class=\"page-nav-panel\">\n";
3693 m_t << "<div id=\"page-nav-resize-handle\"></div>\n";
3694 m_t << "<div id=\"page-nav-tree\">\n";
3695 m_t << "<div id=\"page-nav-contents\">\n";
3696 m_t << "</div><!-- page-nav-contents -->\n";
3697 m_t << "</div><!-- page-nav-tree -->\n";
3698 m_t << "</div><!-- page-nav -->\n";
3699}

References OutputGenerator::m_t.

◆ writeQuickLinks()

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

Implements OutputGenIntf.

Definition at line 3204 of file htmlgen.cpp.

3205{
3206 writeDefaultQuickLinks(m_t,hli,file,m_relPath,extraTabs);
3207}

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

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

1631{
1633}
static void writeSearchInfoStatic(TextStream &t, const QCString &relPath)
Definition htmlgen.cpp:1600

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

◆ writeSearchInfoStatic()

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

Definition at line 1600 of file htmlgen.cpp.

1601{
1602 bool searchEngine = Config_getBool(SEARCHENGINE);
1603 bool serverBasedSearch = Config_getBool(SERVER_BASED_SEARCH);
1604 if (searchEngine && !serverBasedSearch)
1605 {
1606 t << "<!-- window showing the filter options -->\n";
1607 t << "<div id=\"MSearchSelectWindow\"\n";
1608 t << " onmouseover=\"return searchBox.OnSearchSelectShow()\"\n";
1609 t << " onmouseout=\"return searchBox.OnSearchSelectHide()\"\n";
1610 t << " onkeydown=\"return searchBox.OnSearchSelectKey(event)\">\n";
1611 t << "</div>\n";
1612 t << "\n";
1613 t << "<!-- iframe showing the search results (closed by default) -->\n";
1614 t << "<div id=\"MSearchResultsWindow\">\n";
1615 t << "<div id=\"MSearchResults\">\n";
1616 t << "<div class=\"SRPage\">\n";
1617 t << "<div id=\"SRIndex\">\n";
1618 t << "<div id=\"SRResults\"></div>\n"; // here the results will be inserted
1619 t << "<div class=\"SRStatus\" id=\"Loading\">" << theTranslator->trLoading() << "</div>\n";
1620 t << "<div class=\"SRStatus\" id=\"Searching\">" << theTranslator->trSearching() << "</div>\n";
1621 t << "<div class=\"SRStatus\" id=\"NoMatches\">" << theTranslator->trNoMatches() << "</div>\n";
1622 t << "</div>\n"; // SRIndex
1623 t << "</div>\n"; // SRPage
1624 t << "</div>\n"; // MSearchResults
1625 t << "</div>\n"; // MSearchResultsWindow
1626 t << "\n";
1627 }
1628}
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 3210 of file htmlgen.cpp.

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

3175{
3176 m_t << writeSplitBarAsString(name,m_relPath,allMembersFile);
3177}

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

3140{
3141 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3142 QCString result;
3143 // write split bar
3144 if (generateTreeView)
3145 {
3146 QCString fn = name;
3148 if (!Config_getBool(FULL_SIDEBAR))
3149 {
3150 result += QCString(
3151 "<div id=\"side-nav\" class=\"ui-resizable side-nav-resizable\">\n");
3152 }
3153 result+=
3154 " <div id=\"nav-tree\">\n"
3155 " <div id=\"nav-tree-contents\">\n"
3156 " <div id=\"nav-sync\" class=\"sync\"></div>\n"
3157 " </div>\n"
3158 " </div>\n"
3159 " <div id=\"splitbar\" style=\"-moz-user-select:none;\" \n"
3160 " class=\"ui-resizable-handle\">\n"
3161 " </div>\n"
3162 "</div>\n"
3163 "<script type=\"text/javascript\">\n"
3164 "document.addEventListener('DOMContentLoaded',() => { initNavTree('" + fn + "','" + relpath + "','" + allMembersFile + "'); });\n"
3165 "</script>\n";
3166 if (Config_getBool(DISABLE_INDEX) || !Config_getBool(FULL_SIDEBAR))
3167 {
3168 result+="<div id=\"container\">\n<div id=\"doc-content\">\n";
3169 }
3170 }
3171 return result;
3172}

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

1854{
1855 m_t << "<li>";
1856 if (!path.isEmpty()) docify(path);
1857 QCString fn = f;
1859 m_t << "<a class=\"el\" href=\"" << fn << "\">";
1860 docify(name);
1861 m_t << "</a> ";
1862}

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

◆ writeString()

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

Implements OutputGenIntf.

Definition at line 1794 of file htmlgen.cpp.

1795{
1796 m_t << text;
1797}

References OutputGenerator::m_t.

◆ writeStyleInfo()

void HtmlGenerator::writeStyleInfo ( int part)
overridevirtual

Implements OutputGenIntf.

Definition at line 1689 of file htmlgen.cpp.

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

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

1542{
1545}

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

3664{
3665 if (first)
3666 {
3667 m_t << " <div class=\"summary\">\n";
3668 }
3669 else
3670 {
3671 m_t << " &#124;\n";
3672 }
3673 m_t << "<a href=\"";
3674 if (!file.isEmpty())
3675 {
3676 QCString fn = file;
3678 m_t << m_relPath << fn;
3679 }
3680 else if (!anchor.isEmpty())
3681 {
3682 m_t << "#";
3683 m_t << anchor;
3684 }
3685 m_t << "\">";
3686 m_t << title;
3687 m_t << "</a>";
3688}

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

1371{
1373 QCString dname=Config_getString(HTML_OUTPUT);
1374 ResourceMgr &mgr = ResourceMgr::instance();
1375 mgr.copyResource("doxygen.svg",dname);
1376 Doxygen::indexList->addImageFile("doxygen.svg");
1377}
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: