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

Static Public Member Functions

static void init ()
static void writeStyleSheetFile (TextStream &t)
static void writeHeaderFile (TextStream &t, const QCString &cssname)
static void writeFooterFile (TextStream &t)
static void writeTabData ()
 Additional initialization after indices have been created.
static void writeSearchInfoStatic (TextStream &t, const QCString &relPath)
static void writeSearchData (const QCString &dir)
static void writeSearchPage ()
static void writeExternalSearchPage ()
static QCString writeLogoAsString (const QCString &path)
static QCString writeSplitBarAsString (const QCString &name, const QCString &relpath, const QCString &allMembersFile)
static QCString getMathJaxMacros ()
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 1095 of file htmlgen.cpp.

1096 : OutputGenerator(Config_getString(HTML_OUTPUT))
1097 , m_codeList(std::make_unique<OutputCodeList>())
1098{
1099 //printf("%p:HtmlGenerator()\n",(void*)this);
1100 m_codeGen = m_codeList->add<HtmlCodeGenerator>(&m_t);
1101}
HtmlCodeGenerator * m_codeGen
Definition htmlgen.h:349
std::unique_ptr< OutputCodeList > m_codeList
Definition htmlgen.h:348
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 1103 of file htmlgen.cpp.

1103 : OutputGenerator(og.m_dir), OutputGenIntf()
1104{
1105 //printf("%p:HtmlGenerator(copy %p)\n",(void*)this,(void*)&og);
1106 m_codeList = std::make_unique<OutputCodeList>(*og.m_codeList);
1107 m_codeGen = m_codeList->get<HtmlCodeGenerator>(OutputType::Html);
1108 m_codeGen->setTextStream(&m_t);
1111 m_relPath = og.m_relPath;
1114}
int m_sectionCount
Definition htmlgen.h:346
QCString m_lastFile
Definition htmlgen.h:344
QCString m_relPath
Definition htmlgen.h:345
bool m_emptySection
Definition htmlgen.h:347
QCString m_lastTitle
Definition htmlgen.h:343
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 1136 of file htmlgen.cpp.

1137{
1139}
void add(OutputCodeIntfPtr &&p)
Definition outputlist.h:194
OutputCodeDefer< HtmlCodeGenerator > HtmlCodeGeneratorDefer
Definition outputlist.h:101

References OutputCodeList::add(), and m_codeGen.

◆ addIndexItem()

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

Implements OutputGenIntf.

Definition at line 2534 of file htmlgen.cpp.

2535{
2536}

◆ addLabel()

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

Implements OutputGenIntf.

Definition at line 1649 of file htmlgen.cpp.

1650{
1651}

◆ cleanup()

void HtmlGenerator::cleanup ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1280 of file htmlgen.cpp.

1281{
1282 QCString dname = Config_getString(HTML_OUTPUT);
1283 Dir d(dname.str());
1284 clearSubDirs(d);
1285}
const std::string & str() const
Definition qcstring.h:537
void clearSubDirs(const Dir &d)
Definition util.cpp:4183

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

◆ clearBuffer()

void HtmlGenerator::clearBuffer ( )

◆ clone()

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

Implements OutputGenIntf.

Definition at line 123 of file htmlgen.h.

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

◆ docify()

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

Implements OutputGenIntf.

Definition at line 1845 of file htmlgen.cpp.

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

1851{
1852 if (!str.isEmpty())
1853 {
1854 const char *p=str.data();
1855 while (*p)
1856 {
1857 char c=*p++;
1858 switch(c)
1859 {
1860 case '<': m_t << "&lt;"; break;
1861 case '>': m_t << "&gt;"; break;
1862 case '&': m_t << "&amp;"; break;
1863 case '"': m_t << "&quot;"; break;
1864 case '-': if (inHtmlComment) m_t << "&#45;"; else m_t << "-"; break;
1865 case '\\':
1866 if (*p=='<')
1867 { m_t << "&lt;"; p++; }
1868 else if (*p=='>')
1869 { m_t << "&gt;"; p++; }
1870 else if (*p=='(')
1871 { m_t << "\\&zwj;("; p++; }
1872 else if (*p==')')
1873 { m_t << "\\&zwj;)"; p++; }
1874 else
1875 m_t << "\\";
1876 break;
1877 default: m_t << c;
1878 }
1879 }
1880 }
1881}

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

Referenced by docify().

◆ endAnonTypeScope()

void HtmlGenerator::endAnonTypeScope ( int )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 186 of file htmlgen.h.

186{}

◆ endBold()

void HtmlGenerator::endBold ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 217 of file htmlgen.h.

217{ m_t << "</b>"; }

References OutputGenerator::m_t.

◆ endCallGraph()

void HtmlGenerator::endCallGraph ( DotCallGraph & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2457 of file htmlgen.cpp.

2458{
2463
2465
2468}
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:1940
static void startSectionSummary(TextStream &t, int sectionCount)
Definition htmlgen.cpp:1918
static void endSectionContent(TextStream &t)
Definition htmlgen.cpp:1956
static void endSectionHeader(TextStream &t)
Definition htmlgen.cpp:1912
static void endSectionSummary(TextStream &t)
Definition htmlgen.cpp:1930
#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 235 of file htmlgen.h.

235{ 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 1969 of file htmlgen.cpp.

1971{
1976 TextStream tt;
1978 if (!tt.empty())
1979 {
1980 m_t << " <div class=\"center\">\n";
1981 m_t << " <img src=\"";
1982 m_t << m_relPath << fileName << ".png\" usemap=\"#" << convertToId(name);
1983 m_t << "_map\" alt=\"\"/>\n";
1984 m_t << " <map id=\"" << convertToId(name);
1985 m_t << "_map\" name=\"" << convertToId(name);
1986 m_t << "_map\">\n";
1987 m_t << tt.str();
1988 m_t << " </map>\n";
1989 m_t << "</div>";
1990 }
1991 else
1992 {
1993 m_t << " <div class=\"center\">\n";
1994 m_t << " <img src=\"";
1995 m_t << m_relPath << fileName << ".png\" alt=\"\"/>\n";
1996 m_t << " </div>";
1997 }
2000}
void writeImage(TextStream &t, const QCString &path, const QCString &relPath, const QCString &file, bool generateMap=true) const
Definition diagram.cpp:1369
bool empty() const
Returns true iff the buffer is empty.
Definition textstream.h:253
std::string str() const
Return the contents of the buffer as a std::string object.
Definition textstream.h:229
QCString convertToId(const QCString &s)
Definition util.cpp:4388

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

2069{
2070 m_t << "</div>";
2071}

References OutputGenerator::m_t.

◆ endConstraintDocs()

void HtmlGenerator::endConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3292 of file htmlgen.cpp.

3293{
3294 m_t << "</td></tr>\n";
3295}

References OutputGenerator::m_t.

◆ endConstraintList()

void HtmlGenerator::endConstraintList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3297 of file htmlgen.cpp.

3298{
3299 m_t << "</table>\n";
3300 m_t << "</dd>\n";
3301 m_t << "</dl>\n";
3302 m_t << "</div>\n";
3303}

References OutputGenerator::m_t.

◆ endConstraintParam()

void HtmlGenerator::endConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3272 of file htmlgen.cpp.

3273{
3274 m_t << "</em></td>";
3275}

References OutputGenerator::m_t.

◆ endConstraintType()

void HtmlGenerator::endConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3282 of file htmlgen.cpp.

3283{
3284 m_t << "</em></td>";
3285}

References OutputGenerator::m_t.

◆ endContents()

void HtmlGenerator::endContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3034 of file htmlgen.cpp.

3035{
3036 m_t << "</div><!-- contents -->\n";
3037}

References OutputGenerator::m_t.

◆ endDescForItem()

void HtmlGenerator::endDescForItem ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 219 of file htmlgen.h.

219{ m_t << "</dd>\n"; }

References OutputGenerator::m_t.

◆ endDescTable()

void HtmlGenerator::endDescTable ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2551 of file htmlgen.cpp.

2552{
2553 m_t << "</table>\n";
2554}

References OutputGenerator::m_t.

◆ endDescTableData()

void HtmlGenerator::endDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2591 of file htmlgen.cpp.

2592{
2593 m_t << "</td>";
2594}

References OutputGenerator::m_t.

◆ endDescTableInit()

void HtmlGenerator::endDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2581 of file htmlgen.cpp.

2582{
2583 m_t << "&#160;</td>";
2584}

References OutputGenerator::m_t.

◆ endDescTableRow()

void HtmlGenerator::endDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2561 of file htmlgen.cpp.

2562{
2563 m_t << "</tr>\n";
2564}

References OutputGenerator::m_t.

◆ endDescTableTitle()

void HtmlGenerator::endDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2571 of file htmlgen.cpp.

2572{
2573 m_t << "&#160;</td>";
2574}

References OutputGenerator::m_t.

◆ endDirDepGraph()

void HtmlGenerator::endDirDepGraph ( DotDirDeps & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2475 of file htmlgen.cpp.

2476{
2481
2483
2486}
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 2387 of file htmlgen.cpp.

2388{
2389 bool generateLegend = Config_getBool(GENERATE_LEGEND);
2390 bool umlLook = Config_getBool(UML_LOOK);
2395
2397 if (generateLegend && !umlLook)
2398 {
2399 QCString url = m_relPath+"graph_legend"+Doxygen::htmlFileExtension;
2400 m_t << "<center><span class=\"legend\">[";
2401 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
2402 m_t << "<a ";
2403 if (generateTreeView) m_t << "target=\"top\" ";
2404 m_t << "href=\"";
2405 if (!url.isEmpty()) m_t << url;
2406 m_t << "\">";
2408 m_t << "</a>";
2409 m_t << "]</span></center>";
2410 }
2411
2414}
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:150
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 1645 of file htmlgen.cpp.

1646{
1647}

◆ endEmphasis()

void HtmlGenerator::endEmphasis ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 215 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endExamples()

void HtmlGenerator::endExamples ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2603 of file htmlgen.cpp.

2604{
2605 m_t << "</dl>\n";
2606}

References OutputGenerator::m_t.

◆ endFile()

void HtmlGenerator::endFile ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1552 of file htmlgen.cpp.

1553{
1554 endPlainFile();
1555}
void endPlainFile() override
Definition htmlgen.h:335

References endPlainFile().

◆ endGroupCollaboration()

void HtmlGenerator::endGroupCollaboration ( DotGroupCollaboration & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2439 of file htmlgen.cpp.

2440{
2445
2447
2450}
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 1798 of file htmlgen.cpp.

1799{
1800 if (extraIndentLevel==2)
1801 {
1802 m_t << "</h4>\n";
1803 }
1804 else if (extraIndentLevel==1)
1805 {
1806 m_t << "</h3>\n";
1807 }
1808 else
1809 {
1810 m_t << "</h2>\n";
1811 }
1812}

References OutputGenerator::m_t.

◆ endHeaderSection()

void HtmlGenerator::endHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3334 of file htmlgen.cpp.

3335{
3336 m_t << "</div><!--header-->\n";
3337}

References OutputGenerator::m_t.

◆ endInclDepGraph()

void HtmlGenerator::endInclDepGraph ( DotInclDepGraph & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2421 of file htmlgen.cpp.

2422{
2427
2429
2432}
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 2528 of file htmlgen.cpp.

2529{
2530 DBG_HTML(m_t << "<!-- endIndent -->\n";)
2531 m_t << "\n</div>\n" << "</div>\n";
2532}
#define DBG_HTML(x)
Definition htmlgen.cpp:62

References DBG_HTML, and OutputGenerator::m_t.

◆ endIndexItem()

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

Implements OutputGenIntf.

Definition at line 1711 of file htmlgen.cpp.

1712{
1713 //printf("HtmlGenerator::endIndexItem(%s,%s,%s)\n",ref,f,name);
1714 if (!ref.isEmpty() || !f.isEmpty())
1715 {
1716 m_t << "</a>";
1717 }
1718 else
1719 {
1720 m_t << "</b>";
1721 }
1722}

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

◆ endIndexKey()

void HtmlGenerator::endIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2191 of file htmlgen.cpp.

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

◆ endIndexList()

void HtmlGenerator::endIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2181 of file htmlgen.cpp.

2182{
2183 m_t << "</table>\n";
2184}

References OutputGenerator::m_t.

◆ endIndexListItem()

void HtmlGenerator::endIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1676 of file htmlgen.cpp.

1677{
1678 m_t << "</li>\n";
1679}

References OutputGenerator::m_t.

◆ endIndexSection()

void HtmlGenerator::endIndexSection ( IndexSection )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 134 of file htmlgen.h.

134{}

◆ endIndexValue()

void HtmlGenerator::endIndexValue ( const QCString & ,
bool  )
overridevirtual

Implements OutputGenIntf.

Definition at line 2201 of file htmlgen.cpp.

2202{
2203 //m_t << "</td></tr>\n";
2204}

◆ endInlineHeader()

void HtmlGenerator::endInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3349 of file htmlgen.cpp.

3350{
3351 m_t << "</h3></td></tr>\n";
3352}

References OutputGenerator::m_t.

◆ endInlineMemberDoc()

void HtmlGenerator::endInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3399 of file htmlgen.cpp.

3400{
3401 DBG_HTML(m_t << "<!-- endInlineMemberDoc -->\n";)
3402 m_t << "</td></tr>\n";
3403}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberName()

void HtmlGenerator::endInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3387 of file htmlgen.cpp.

3388{
3389 DBG_HTML(m_t << "<!-- endInlineMemberName -->\n";)
3390 m_t << "</td>\n";
3391}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberType()

void HtmlGenerator::endInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3375 of file htmlgen.cpp.

3376{
3377 DBG_HTML(m_t << "<!-- endInlineMemberType -->\n";)
3378 m_t << "</td>\n";
3379}

References DBG_HTML, and OutputGenerator::m_t.

◆ endItemList()

void HtmlGenerator::endItemList ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 154 of file htmlgen.h.

154{ m_t << "</ul>\n"; }

References OutputGenerator::m_t.

◆ endItemListItem()

void HtmlGenerator::endItemListItem ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 169 of file htmlgen.h.

169{ m_t << "</li>\n"; }

References OutputGenerator::m_t.

◆ endLabels()

void HtmlGenerator::endLabels ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3451 of file htmlgen.cpp.

3452{
3453 DBG_HTML(m_t << "<!-- endLabels -->\n";)
3454 m_t << "</span>";
3455}

References DBG_HTML, and OutputGenerator::m_t.

◆ endLocalToc()

void HtmlGenerator::endLocalToc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3551 of file htmlgen.cpp.

3552{
3553 if (m_tocState.level > m_tocState.maxLevel) m_tocState.level = m_tocState.maxLevel;
3554 while (m_tocState.level>0)
3555 {
3556 m_tocState.decIndent(m_t,"</li>");
3557 m_tocState.decIndent(m_t,"</ul>");
3558 m_tocState.level--;
3559 }
3560 m_t << "</div>\n";
3561}
TocState m_tocState
Definition htmlgen.h:362

References OutputGenerator::m_t, and m_tocState.

◆ endMemberDeclaration()

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

Implements OutputGenIntf.

Definition at line 3526 of file htmlgen.cpp.

3527{
3528}

◆ endMemberDescription()

void HtmlGenerator::endMemberDescription ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2110 of file htmlgen.cpp.

2111{
2112 DBG_HTML(m_t << "<!-- endMemberDescription -->\n")
2113 m_t << "<br /></td></tr>\n";
2114}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDoc()

void HtmlGenerator::endMemberDoc ( bool hasArgs)
overridevirtual

Implements OutputGenIntf.

Definition at line 2371 of file htmlgen.cpp.

2372{
2373 DBG_HTML(m_t << "<!-- endMemberDoc -->\n";)
2374 if (!hasArgs)
2375 {
2376 m_t << " </tr>\n";
2377 }
2378 m_t << " </table>\n";
2379 // m_t << "</div>\n";
2380}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocList()

void HtmlGenerator::endMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2211 of file htmlgen.cpp.

2212{
2213 DBG_HTML(m_t << "<!-- endMemberDocList -->\n";)
2214}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocName()

void HtmlGenerator::endMemberDocName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2255 of file htmlgen.cpp.

2256{
2257 DBG_HTML(m_t << "<!-- endMemberDocName -->\n";)
2258 m_t << "</td>\n";
2259}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocPrefixItem()

void HtmlGenerator::endMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2239 of file htmlgen.cpp.

2240{
2241 DBG_HTML(m_t << "<!-- endMemberDocPrefixItem -->\n";)
2242 m_t << "</div>\n";
2243}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocSimple()

void HtmlGenerator::endMemberDocSimple ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 3363 of file htmlgen.cpp.

3364{
3365 DBG_HTML(m_t << "<!-- endMemberDocSimple -->\n";)
3366 m_t << "</table>\n";
3367}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberGroup()

void HtmlGenerator::endMemberGroup ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2517 of file htmlgen.cpp.

2518{
2519}

◆ endMemberGroupDocs()

void HtmlGenerator::endMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2508 of file htmlgen.cpp.

2509{
2510 m_t << "</div></td></tr>\n";
2511}

References OutputGenerator::m_t.

◆ endMemberGroupHeader()

void HtmlGenerator::endMemberGroupHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2498 of file htmlgen.cpp.

2499{
2500 m_t << "</div></td></tr>\n";
2501}

References OutputGenerator::m_t.

◆ endMemberHeader()

void HtmlGenerator::endMemberHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2158 of file htmlgen.cpp.

2159{
2160 DBG_HTML(m_t << "<!-- endMemberHeader -->\n")
2161 m_t << "</h2></td></tr>\n";
2162}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberItem()

void HtmlGenerator::endMemberItem ( MemberItemType type)
overridevirtual

Implements OutputGenIntf.

Definition at line 2039 of file htmlgen.cpp.

2040{
2042 {
2043 insertMemberAlign(false);
2044 }
2045 m_t << "</td></tr>\n";
2046}
OutputType type() const override
Definition htmlgen.h:122
void insertMemberAlign(bool) override
Definition htmlgen.cpp:2073

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

◆ endMemberList()

void HtmlGenerator::endMemberList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2008 of file htmlgen.cpp.

2009{
2010 DBG_HTML(m_t << "<!-- endMemberList -->\n")
2011}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberSections()

void HtmlGenerator::endMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2124 of file htmlgen.cpp.

2125{
2126 DBG_HTML(m_t << "<!-- endMemberSections -->\n")
2128 {
2129 m_t << "</table>\n";
2130 }
2131}
if(strLen >35 &&floatingIndex >30 &&autoBreak)
Definition util.cpp:949

References DBG_HTML, m_emptySection, and OutputGenerator::m_t.

◆ endMemberSubtitle()

void HtmlGenerator::endMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2170 of file htmlgen.cpp.

2171{
2172 DBG_HTML(m_t << "<!-- endMemberSubtitle -->\n")
2173 m_t << "</td></tr>\n";
2174}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberTemplateParams()

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

Implements OutputGenIntf.

Definition at line 2052 of file htmlgen.cpp.

2053{
2054 m_t << "</td></tr>\n";
2055 m_t << "<tr class=\"memitem:" << convertToId(anchor);
2056 if (!inheritId.isEmpty())
2057 {
2058 m_t << " inherit " << inheritId;
2059 }
2060 m_t << " template\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">";
2061}

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

◆ endPageDoc()

void HtmlGenerator::endPageDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3044 of file htmlgen.cpp.

3045{
3046 m_t << "</div><!-- PageDoc -->\n";
3047}

References OutputGenerator::m_t.

◆ endPageRef()

void HtmlGenerator::endPageRef ( const QCString & ,
const QCString &  )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 249 of file htmlgen.h.

249{}

◆ endParagraph()

void HtmlGenerator::endParagraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1661 of file htmlgen.cpp.

1662{
1663 m_t << "</p>\n";
1664}

References OutputGenerator::m_t.

◆ endParameterDefVal()

void HtmlGenerator::endParameterDefVal ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2340 of file htmlgen.cpp.

2341{
2342 m_t << "</span>";
2343}

References OutputGenerator::m_t.

◆ endParameterExtra()

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

Implements OutputGenIntf.

Definition at line 2309 of file htmlgen.cpp.

2310{
2311 DBG_HTML(m_t << "<!-- endParameterExtra -->\n";)
2312 if (last)
2313 {
2314 if (emptyList)
2315 {
2316 if (closeBracket) m_t << "</td><td>)";
2317 m_t << "</td>\n";
2318 m_t << " <td>";
2319 }
2320 else
2321 {
2322 m_t << "&#160;";
2323 if (closeBracket) m_t << ")";
2324 }
2325 }
2326 else
2327 {
2328 m_t << "</td>\n";
2329 m_t << " </tr>\n";
2330 }
2331}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterList()

void HtmlGenerator::endParameterList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2345 of file htmlgen.cpp.

2346{
2347 DBG_HTML(m_t << "<!-- endParameterList -->\n";)
2348 m_t << "</td>\n";
2349 m_t << " </tr>\n";
2350}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterName()

void HtmlGenerator::endParameterName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2298 of file htmlgen.cpp.

2299{
2300 DBG_HTML(m_t << "<!-- endParameterName -->\n";)
2301 m_t << "</em></span>";
2302}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterType()

void HtmlGenerator::endParameterType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2286 of file htmlgen.cpp.

2287{
2288 DBG_HTML(m_t << "<!-- endParameterType -->\n";)
2289 m_t << "</td>";
2290}

References DBG_HTML, and OutputGenerator::m_t.

◆ endPlainFile()

void HtmlGenerator::endPlainFile ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 335 of file htmlgen.h.

References OutputGenerator::endPlainFile().

Referenced by endFile(), and writeStyleInfo().

◆ endProjectNumber()

void HtmlGenerator::endProjectNumber ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1562 of file htmlgen.cpp.

1563{
1564 m_t << "</h3>";
1565}

References OutputGenerator::m_t.

◆ endQuickIndices()

void HtmlGenerator::endQuickIndices ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2974 of file htmlgen.cpp.

2975{
2976 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
2977 m_t << "</div><!-- top -->\n";
2978 if (!generateTreeView)
2979 {
2980 m_t << "<div id=\"doc-content\">\n";
2981 }
2982}

References Config_getBool, and OutputGenerator::m_t.

◆ endSection()

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

Implements OutputGenIntf.

Definition at line 1830 of file htmlgen.cpp.

1831{
1832 switch(type.level())
1833 {
1834 case SectionType::Page: m_t << "</h1>"; break;
1835 case SectionType::Section: m_t << "</h2>"; break;
1836 case SectionType::Subsection: m_t << "</h3>"; break;
1837 case SectionType::Subsubsection: m_t << "</h4>"; break;
1838 case SectionType::Paragraph: m_t << "</h5>"; break;
1839 case SectionType::Subparagraph: m_t << "</h6>"; break;
1840 case SectionType::Subsubparagraph: m_t << "</h6>"; break;
1841 default: ASSERT(0); break;
1842 }
1843}
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 237 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endTextBlock()

void HtmlGenerator::endTextBlock ( bool )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 288 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endTextLink()

void HtmlGenerator::endTextLink ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1772 of file htmlgen.cpp.

1773{
1774 m_t << "</a>";
1775}

References OutputGenerator::m_t.

◆ endTitle()

void HtmlGenerator::endTitle ( )
inlineprivate

Definition at line 339 of file htmlgen.h.

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

References OutputGenerator::m_t.

Referenced by endTitleHead().

◆ endTitleHead()

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

Implements OutputGenIntf.

Definition at line 3328 of file htmlgen.cpp.

3329{
3330 endTitle();
3331 m_t << "</div>\n";
3332}
void endTitle()
Definition htmlgen.h:339

References endTitle(), and OutputGenerator::m_t.

◆ endTocEntry()

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

Implements OutputGenIntf.

Definition at line 3607 of file htmlgen.cpp.

3608{
3609 SectionType type = si->type();
3610 int nextLevel = type.level();
3611 if (type.isSection() && nextLevel<=m_tocState.maxLevel)
3612 {
3613 m_t << "</a>\n";
3614 m_tocState.inLi[nextLevel]=true;
3615 m_tocState.level = nextLevel;
3616 }
3617}
SectionType type() const
Definition section.h:70

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

◆ endTypewriter()

void HtmlGenerator::endTypewriter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 165 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ exceptionEntry()

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

Implements OutputGenIntf.

Definition at line 2352 of file htmlgen.cpp.

2353{
2354 DBG_HTML(m_t << "<!-- exceptionEntry -->\n";)
2355 if (!closeBracket)
2356 {
2357 m_t << "</td>\n";
2358 m_t << " </tr>\n";
2359 m_t << " <tr>\n";
2360 m_t << " <td align=\"right\">";
2361 }
2362 // colspan 2 so it gets both parameter type and parameter name columns
2363 if (!prefix.isEmpty())
2364 m_t << prefix << "</td><td>(</td><td colspan=\"2\">";
2365 else if (closeBracket)
2366 m_t << "&#160;)</td><td></td><td></td><td>";
2367 else
2368 m_t << "</td><td></td><td colspan=\"2\">";
2369}
constexpr auto prefix
Definition anchor.cpp:44

References DBG_HTML, OutputGenerator::m_t, and prefix.

◆ getMathJaxMacros()

QCString HtmlGenerator::getMathJaxMacros ( )
static

Definition at line 3530 of file htmlgen.cpp.

3531{
3532 return getConvertLatexMacro();
3533}
static QCString getConvertLatexMacro()
Convert a set of LaTeX commands \‍(re)newcommand to a form readable by MathJax LaTeX syntax:
Definition htmlgen.cpp:149

References getConvertLatexMacro().

◆ getNavTreeCss()

QCString HtmlGenerator::getNavTreeCss ( )
static

Definition at line 3535 of file htmlgen.cpp.

3536{
3537 ResourceMgr &mgr = ResourceMgr::instance();
3538 return replaceVariables(mgr.getAsString("navtree.css"));
3539}
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:667

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

Referenced by init().

◆ init()

void HtmlGenerator::init ( )
static

Definition at line 1141 of file htmlgen.cpp.

1142{
1143 QCString dname = Config_getString(HTML_OUTPUT);
1144 Dir d(dname.str());
1145 if (!d.exists() && !d.mkdir(dname.str()))
1146 {
1147 term("Could not create output directory {}\n",dname);
1148 }
1149 //writeLogo(dname);
1150 if (!Config_getString(HTML_HEADER).isEmpty())
1151 {
1152 g_header_file=Config_getString(HTML_HEADER);
1154 //printf("g_header='%s'\n",qPrint(g_header));
1155 QCString result = substituteHtmlKeywords(g_header_file,g_header,QCString(),QCString());
1156 checkBlocks(result,Config_getString(HTML_HEADER),htmlMarkerInfo);
1157 }
1158 else
1159 {
1160 g_header_file="header.html";
1162 QCString result = substituteHtmlKeywords(g_header_file,g_header,QCString(),QCString());
1163 checkBlocks(result,"<default header.html>",htmlMarkerInfo);
1164 }
1165
1166 if (!Config_getString(HTML_FOOTER).isEmpty())
1167 {
1168 g_footer_file=Config_getString(HTML_FOOTER);
1170 //printf("g_footer='%s'\n",qPrint(g_footer));
1171 QCString result = substituteHtmlKeywords(g_footer_file,g_footer,QCString(),QCString());
1172 checkBlocks(result,Config_getString(HTML_FOOTER),htmlMarkerInfo);
1173 }
1174 else
1175 {
1176 g_footer_file = "footer.html";
1178 QCString result = substituteHtmlKeywords(g_footer_file,g_footer,QCString(),QCString());
1179 checkBlocks(result,"<default footer.html>",htmlMarkerInfo);
1180 }
1181
1182 if (Config_getBool(USE_MATHJAX))
1183 {
1184 if (!Config_getString(MATHJAX_CODEFILE).isEmpty())
1185 {
1186 g_mathjax_code=fileToString(Config_getString(MATHJAX_CODEFILE));
1187 //printf("g_mathjax_code='%s'\n",qPrint(g_mathjax_code));
1188 }
1190 //printf("converted g_latex_macro='%s'\n",qPrint(g_latex_macro));
1191 }
1192 createSubDirs(d);
1193
1195
1196 ResourceMgr &mgr = ResourceMgr::instance();
1197
1198 {
1199 QCString tabsCss;
1200 if (Config_getBool(HTML_DYNAMIC_MENUS))
1201 {
1202 tabsCss = mgr.getAsString("tabs.css");
1203 }
1204 else // stylesheet for the 'old' static tabs
1205 {
1206 tabsCss = mgr.getAsString("fixed_tabs.css");
1207 }
1208
1209 std::ofstream f = Portable::openOutputStream(dname+"/tabs.css");
1210 if (f.is_open())
1211 {
1212 TextStream t(&f);
1213 t << replaceVariables(tabsCss);
1214 }
1215 }
1216
1217
1218 mgr.copyResource("jquery.js",dname);
1219 if (Config_getBool(INTERACTIVE_SVG))
1220 {
1221 mgr.copyResource("svg.min.js",dname);
1222 }
1223
1224 if (!Config_getBool(DISABLE_INDEX) && Config_getBool(HTML_DYNAMIC_MENUS))
1225 {
1226 mgr.copyResource("menu.js",dname);
1227 }
1228
1229 // copy navtree.css
1230 {
1231 std::ofstream f = Portable::openOutputStream(dname+"/navtree.css");
1232 if (f.is_open())
1233 {
1234 TextStream t(&f);
1235 t << getNavTreeCss();
1236 }
1237 }
1238
1239 if (Config_getBool(HTML_COPY_CLIPBOARD))
1240 {
1241 std::ofstream f = Portable::openOutputStream(dname+"/clipboard.js");
1242 if (f.is_open())
1243 {
1244 TextStream t(&f);
1245 t << substitute(mgr.getAsString("clipboard.js"),"$copy_to_clipboard_text",theTranslator->trCopyToClipboard());
1246 }
1247 }
1248
1249 bool hasCookie = Config_getBool(GENERATE_TREEVIEW) || Config_getBool(SEARCHENGINE) || Config_getEnum(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE;
1250 if (hasCookie)
1251 {
1252 mgr.copyResource("cookie.js",dname);
1253 }
1254
1255 if (Config_getBool(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE)
1256 {
1257 std::ofstream f = Portable::openOutputStream(dname+"/darkmode_toggle.js");
1258 if (f.is_open())
1259 {
1260 TextStream t(&f);
1261 t << substitute(replaceColorMarkers(mgr.getAsString("darkmode_toggle.js")),
1262 "$PROJECTID",getProjectId());
1263 }
1264 }
1265
1266 {
1267 std::ofstream f = Portable::openOutputStream(dname+"/dynsections.js");
1268 if (f.is_open())
1269 {
1270 TextStream t(&f);
1271 t << replaceVariables(mgr.getAsString("dynsections.js"));
1272 if (Config_getBool(SOURCE_BROWSER) && Config_getBool(SOURCE_TOOLTIPS))
1273 {
1274 t << replaceVariables(mgr.getAsString("dynsections_tooltips.js"));
1275 }
1276 }
1277 }
1278}
static QCString getNavTreeCss()
Definition htmlgen.cpp:3535
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 QCString g_header
Definition htmlgen.cpp:64
static QCString g_header_file
Definition htmlgen.cpp:65
static QCString g_mathjax_code
Definition htmlgen.cpp:68
static QCString g_footer
Definition htmlgen.cpp:67
static const SelectionMarkerInfo htmlMarkerInfo
Definition htmlgen.cpp:72
static QCString g_footer_file
Definition htmlgen.cpp:66
static QCString g_latex_macro
Definition htmlgen.cpp:69
static void fillColorStyleMaps()
Definition htmlgen.cpp:653
static QCString substituteHtmlKeywords(const QCString &file, const QCString &str, const QCString &title, const QCString &relPath, const QCString &navPath=QCString())
Definition htmlgen.cpp:323
#define term(fmt,...)
Definition message.h:137
std::ofstream openOutputStream(const QCString &name, bool append=false)
Definition portable.cpp:665
QCString substitute(const QCString &s, const QCString &src, const QCString &dst)
substitute all occurrences of src in s by dst
Definition qcstring.cpp:477
void checkBlocks(const QCString &s, const QCString fileName, const SelectionMarkerInfo &markerInfo)
Definition util.cpp:6999
QCString fileToString(const QCString &name, bool filter, bool isSourceCode)
Definition util.cpp:1441
void createSubDirs(const Dir &d)
Definition util.cpp:4156
QCString getProjectId()
Definition util.cpp:7288
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:6285

References checkBlocks(), Config_getBool, Config_getEnum, Config_getString, ResourceMgr::copyResource(), createSubDirs(), Dir::exists(), fileToString(), fillColorStyleMaps(), g_footer, g_footer_file, g_header, g_header_file, g_latex_macro, g_mathjax_code, ResourceMgr::getAsString(), getConvertLatexMacro(), getNavTreeCss(), getProjectId(), 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 2073 of file htmlgen.cpp.

2074{
2075 DBG_HTML(m_t << "<!-- insertMemberAlign -->\n")
2076 m_t << "&#160;</td><td class=\"memItemRight\" valign=\"bottom\">";
2077}

References DBG_HTML, and OutputGenerator::m_t.

Referenced by endMemberItem().

◆ insertMemberAlignLeft()

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

Implements OutputGenIntf.

Definition at line 2079 of file htmlgen.cpp.

2080{
2081 if (!initTag) m_t << "&#160;</td>";
2082 switch (type)
2083 {
2084 case MemberItemType::Normal: m_t << "<td class=\"memItemLeft\" align=\"right\" valign=\"top\">"; break;
2085 case MemberItemType::AnonymousStart: m_t << "<td class=\"memItemLeft anon\">"; break;
2086 case MemberItemType::AnonymousEnd: m_t << "<td class=\"memItemLeft anonEnd\" valign=\"top\">"; break;
2087 case MemberItemType::Templated: m_t << "<td class=\"memTemplParams\" colspan=\"2\">"; break;
2088 }
2089}

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 289 of file htmlgen.h.

289{}

◆ lineBreak()

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

Implements OutputGenIntf.

Definition at line 3305 of file htmlgen.cpp.

3306{
3307 if (!style.isEmpty())
3308 {
3309 m_t << "<br class=\"" << style << "\" />\n";
3310 }
3311 else
3312 {
3313 m_t << "<br />\n";
3314 }
3315}

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

◆ operator=() [1/2]

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

Definition at line 1116 of file htmlgen.cpp.

1117{
1118 //printf("%p:HtmlGenerator(copy assign %p)\n",(void*)this,(void*)&og);
1119 if (this!=&og)
1120 {
1121 m_dir = og.m_dir;
1122 m_codeList = std::make_unique<OutputCodeList>(*og.m_codeList);
1123 m_codeGen = m_codeList->get<HtmlCodeGenerator>(OutputType::Html);
1124 m_codeGen->setTextStream(&m_t);
1127 m_relPath = og.m_relPath;
1130 }
1131 return *this;
1132}

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 185 of file htmlgen.h.

185{}

◆ startBold()

void HtmlGenerator::startBold ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 216 of file htmlgen.h.

216{ m_t << "<b>"; }

References OutputGenerator::m_t.

◆ startCallGraph()

void HtmlGenerator::startCallGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2452 of file htmlgen.cpp.

2453{
2455}
static void startSectionHeader(TextStream &t, const QCString &relPath, int sectionCount)
Definition htmlgen.cpp:1893

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

◆ startCenter()

void HtmlGenerator::startCenter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 234 of file htmlgen.h.

234{ m_t << "<center>\n"; }

References OutputGenerator::m_t.

◆ startClassDiagram()

void HtmlGenerator::startClassDiagram ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1964 of file htmlgen.cpp.

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

◆ startCompoundTemplateParams()

void HtmlGenerator::startCompoundTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2063 of file htmlgen.cpp.

2064{
2065 m_t << "<div class=\"compoundTemplParams\">";
2066}

References OutputGenerator::m_t.

◆ startConstraintDocs()

void HtmlGenerator::startConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3287 of file htmlgen.cpp.

3288{
3289 m_t << "<td>&#160;";
3290}

References OutputGenerator::m_t.

◆ startConstraintList()

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

Implements OutputGenIntf.

Definition at line 3260 of file htmlgen.cpp.

3261{
3262 m_t << "<div class=\"typeconstraint\">\n";
3263 m_t << "<dl><dt><b>" << header << "</b></dt><dd>\n";
3264 m_t << "<table border=\"0\" cellspacing=\"2\" cellpadding=\"0\">\n";
3265}

References OutputGenerator::m_t.

◆ startConstraintParam()

void HtmlGenerator::startConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3267 of file htmlgen.cpp.

3268{
3269 m_t << "<tr><td valign=\"top\"><em>";
3270}

References OutputGenerator::m_t.

◆ startConstraintType()

void HtmlGenerator::startConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3277 of file htmlgen.cpp.

3278{
3279 m_t << "<td>&#160;:</td><td valign=\"top\"><em>";
3280}

References OutputGenerator::m_t.

◆ startContents()

void HtmlGenerator::startContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3029 of file htmlgen.cpp.

3030{
3031 m_t << "<div class=\"contents\">\n";
3032}

References OutputGenerator::m_t.

◆ startDescForItem()

void HtmlGenerator::startDescForItem ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 218 of file htmlgen.h.

218{ m_t << "<dd>"; }

References OutputGenerator::m_t.

◆ startDescTable()

void HtmlGenerator::startDescTable ( const QCString & title,
const bool hasInits )
overridevirtual

Implements OutputGenIntf.

Definition at line 2546 of file htmlgen.cpp.

2547{
2548 m_t << "<table class=\"fieldtable\">\n"
2549 << "<tr><th colspan=\"" << (hasInits?3:2) << "\">" << title << "</th></tr>";
2550}

References OutputGenerator::m_t.

◆ startDescTableData()

void HtmlGenerator::startDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2586 of file htmlgen.cpp.

2587{
2588 m_t << "<td class=\"fielddoc\">";
2589}

References OutputGenerator::m_t.

◆ startDescTableInit()

void HtmlGenerator::startDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2576 of file htmlgen.cpp.

2577{
2578 m_t << "<td class=\"fieldinit\">";
2579}

References OutputGenerator::m_t.

◆ startDescTableRow()

void HtmlGenerator::startDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2556 of file htmlgen.cpp.

2557{
2558 m_t << "<tr>";
2559}

References OutputGenerator::m_t.

◆ startDescTableTitle()

void HtmlGenerator::startDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2566 of file htmlgen.cpp.

2567{
2568 m_t << "<td class=\"fieldname\">";
2569}

References OutputGenerator::m_t.

◆ startDirDepGraph()

void HtmlGenerator::startDirDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2470 of file htmlgen.cpp.

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

◆ startDotGraph()

void HtmlGenerator::startDotGraph ( )
overridevirtual

Implements OutputGenIntf.

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

1641{
1642 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>";
1643}

References OutputGenerator::m_t.

◆ startEmphasis()

void HtmlGenerator::startEmphasis ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 214 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startExamples()

void HtmlGenerator::startExamples ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2596 of file htmlgen.cpp.

2597{
2598 m_t << "<dl class=\"section examples\"><dt>";
2600 m_t << "</dt>";
2601}
void docify(const QCString &text) override
Definition htmlgen.cpp:1845
virtual QCString trExamples()=0

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

◆ startFile()

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

Implements OutputGenIntf.

Definition at line 1430 of file htmlgen.cpp.

1432{
1433 //printf("HtmlGenerator::startFile(%s)\n",qPrint(name));
1435 QCString fileName = name;
1437 m_lastTitle=title;
1438
1440 m_codeGen->setFileName(fileName);
1441 m_codeGen->setRelativePath(m_relPath);
1442 {
1443 std::lock_guard<std::mutex> lock(g_indexLock);
1445 }
1446
1449
1450 m_t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
1451 << getDoxygenVersion() << " -->\n";
1452 bool searchEngine = Config_getBool(SEARCHENGINE);
1453 if (searchEngine /*&& !generateTreeView*/)
1454 {
1455 m_t << "<script type=\"text/javascript\">\n";
1456 m_t << "var searchBox = new SearchBox(\"searchBox\", \""
1457 << m_relPath<< "search/\",'" << Doxygen::htmlFileExtension << "');\n";
1458 m_t << "</script>\n";
1459 }
1460 if (Config_getBool(HTML_CODE_FOLDING))
1461 {
1462 m_t << "<script type=\"text/javascript\">\n";
1463 m_t << "$(function() { codefold.init(); });\n";
1464 m_t << "</script>\n";
1465 }
1467}
static IndexList * indexList
Definition doxygen.h:134
void startPlainFile(const QCString &name) override
Definition htmlgen.h:334
void addIndexFile(const QCString &name)
Definition indexlist.h:123
virtual QCString trGeneratedBy()=0
static std::mutex g_indexLock
Definition htmlgen.cpp:1428
QCString convertToHtml(const QCString &s, bool keepEntities)
Definition util.cpp:4479
QCString relativePathToRoot(const QCString &name)
Definition util.cpp:4095
QCString filterTitle(const QCString &title)
Definition util.cpp:6093
void addHtmlExtensionIfMissing(QCString &fName)
Definition util.cpp:5415

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

1778{
1779 if (extraIndentLevel==2)
1780 {
1781 m_t << "<h4";
1782 }
1783 else if (extraIndentLevel==1)
1784 {
1785 m_t << "<h3";
1786 }
1787 else // extraIndentLevel==0
1788 {
1789 m_t << "<h2";
1790 }
1791 if (!id.isEmpty())
1792 {
1793 m_t <<" id=\"header-"+convertToId(id)+"\"";
1794 }
1795 m_t << " class=\"groupheader\">";
1796}

References convertToId(), and OutputGenerator::m_t.

◆ startHeaderSection()

void HtmlGenerator::startHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3317 of file htmlgen.cpp.

3318{
3319 m_t << "<div class=\"header\">\n";
3320}

References OutputGenerator::m_t.

◆ startInclDepGraph()

void HtmlGenerator::startInclDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2416 of file htmlgen.cpp.

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

◆ startIndent()

void HtmlGenerator::startIndent ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2521 of file htmlgen.cpp.

2522{
2523 DBG_HTML(m_t << "<!-- startIndent -->\n";)
2524
2525 m_t << "<div class=\"memdoc\">\n";
2526}

References DBG_HTML, and OutputGenerator::m_t.

◆ startIndexItem()

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

Implements OutputGenIntf.

Definition at line 1681 of file htmlgen.cpp.

1682{
1683 //printf("HtmlGenerator::startIndexItem(%s,%s)\n",ref,f);
1684 if (!ref.isEmpty() || !f.isEmpty())
1685 {
1686 if (!ref.isEmpty())
1687 {
1688 m_t << "<a class=\"elRef\" ";
1690 }
1691 else
1692 {
1693 m_t << "<a class=\"el\" ";
1694 }
1695 m_t << "href=\"";
1696 m_t << externalRef(m_relPath,ref,TRUE);
1697 if (!f.isEmpty())
1698 {
1699 QCString fn=f;
1701 m_t << fn;
1702 }
1703 m_t << "\">";
1704 }
1705 else
1706 {
1707 m_t << "<b>";
1708 }
1709}
QCString externalRef(const QCString &relPath, const QCString &ref, bool href)
Definition util.cpp:6232
QCString externalLinkTarget(const bool parent)
Definition util.cpp:6188

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

◆ startIndexKey()

void HtmlGenerator::startIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2186 of file htmlgen.cpp.

2187{
2188 //m_t << " <tr><td class=\"indexkey\">";
2189}

◆ startIndexList()

void HtmlGenerator::startIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2176 of file htmlgen.cpp.

2177{
2178 m_t << "<table>\n";
2179}

References OutputGenerator::m_t.

◆ startIndexListItem()

void HtmlGenerator::startIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1671 of file htmlgen.cpp.

1672{
1673 m_t << "<li>";
1674}

References OutputGenerator::m_t.

◆ startIndexSection()

void HtmlGenerator::startIndexSection ( IndexSection )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 133 of file htmlgen.h.

133{}

◆ startIndexValue()

void HtmlGenerator::startIndexValue ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2196 of file htmlgen.cpp.

2197{
2198 //m_t << "<td class=\"indexvalue\">";
2199}

◆ startInlineHeader()

void HtmlGenerator::startInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3339 of file htmlgen.cpp.

3340{
3341 if (m_emptySection)
3342 {
3343 m_t << "<table class=\"memberdecls\">\n";
3345 }
3346 m_t << "<tr><td colspan=\"2\"><h3>";
3347}

References FALSE, m_emptySection, and OutputGenerator::m_t.

◆ startInlineMemberDoc()

void HtmlGenerator::startInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3393 of file htmlgen.cpp.

3394{
3395 DBG_HTML(m_t << "<!-- startInlineMemberDoc -->\n";)
3396 m_t << "<td class=\"fielddoc\">\n";
3397}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberName()

void HtmlGenerator::startInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3381 of file htmlgen.cpp.

3382{
3383 DBG_HTML(m_t << "<!-- startInlineMemberName -->\n";)
3384 m_t << "<td class=\"fieldname\">\n";
3385}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberType()

void HtmlGenerator::startInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3369 of file htmlgen.cpp.

3370{
3371 DBG_HTML(m_t << "<!-- startInlineMemberType -->\n";)
3372 m_t << "<tr><td class=\"fieldtype\">\n";
3373}

References DBG_HTML, and OutputGenerator::m_t.

◆ startItemList()

void HtmlGenerator::startItemList ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 153 of file htmlgen.h.

153{ m_t << "<ul>\n"; }

References OutputGenerator::m_t.

◆ startItemListItem()

void HtmlGenerator::startItemListItem ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 168 of file htmlgen.h.

168{ m_t << "<li>"; }

References OutputGenerator::m_t.

◆ startLabels()

void HtmlGenerator::startLabels ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3405 of file htmlgen.cpp.

3406{
3407 DBG_HTML(m_t << "<!-- startLabels -->\n";)
3408 m_t << "<span class=\"mlabels\">";
3409}

References DBG_HTML, and OutputGenerator::m_t.

◆ startLocalToc()

void HtmlGenerator::startLocalToc ( int level)
overridevirtual

Implements OutputGenIntf.

Definition at line 3541 of file htmlgen.cpp.

3542{
3543 m_tocState.level=0;
3544 m_tocState.indent=0;
3545 m_tocState.maxLevel=level;
3546 m_tocState.inLi = BoolVector(level+1,false);
3547 m_t << "<div class=\"toc\">";
3548 m_t << "<h3>" << theTranslator->trRTFTableOfContents() << "</h3>\n";
3549}
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 205 of file htmlgen.h.

205{}

◆ startMemberDescription()

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

Implements OutputGenIntf.

Definition at line 2091 of file htmlgen.cpp.

2092{
2093 DBG_HTML(m_t << "<!-- startMemberDescription -->\n")
2095 {
2096 m_t << "<table class=\"memberdecls\">\n";
2098 }
2099 m_t << "<tr class=\"memdesc:" << anchor;
2100 if (!inheritId.isEmpty())
2101 {
2102 m_t << " inherit " << inheritId;
2103 }
2104 m_t << "\">";
2105 m_t << "<td class=\"mdescLeft\">&#160;</td>";
2106 if (typ) m_t << "<td class=\"mdescLeft\">&#160;</td>";
2107 m_t << "<td class=\"mdescRight\">";
2108}

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

◆ startMemberDoc()

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

Implements OutputGenIntf.

Definition at line 2216 of file htmlgen.cpp.

2219{
2220 DBG_HTML(m_t << "<!-- startMemberDoc -->\n";)
2221 m_t << "\n<h2 class=\"memtitle\">"
2222 << "<span class=\"permalink\"><a href=\"#" << anchor << "\">&#9670;&#160;</a></span>";
2223 docify(title);
2224 if (memTotal>1)
2225 {
2226 m_t << " <span class=\"overload\">[" << memCount << "/" << memTotal <<"]</span>";
2227 }
2228 m_t << "</h2>\n";
2229 m_t << "\n<div class=\"memitem\">\n";
2230 m_t << "<div class=\"memproto\">\n";
2231}

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

◆ startMemberDocList()

void HtmlGenerator::startMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2206 of file htmlgen.cpp.

2207{
2208 DBG_HTML(m_t << "<!-- startMemberDocList -->\n";)
2209}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocName()

void HtmlGenerator::startMemberDocName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2245 of file htmlgen.cpp.

2246{
2247 DBG_HTML(m_t << "<!-- startMemberDocName -->\n";)
2248
2249 m_t << " <table class=\"memname\">\n";
2250
2251 m_t << " <tr>\n";
2252 m_t << " <td class=\"memname\">";
2253}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocPrefixItem()

void HtmlGenerator::startMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2233 of file htmlgen.cpp.

2234{
2235 DBG_HTML(m_t << "<!-- startMemberDocPrefixItem -->\n";)
2236 m_t << "<div class=\"memtemplate\">\n";
2237}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocSimple()

void HtmlGenerator::startMemberDocSimple ( bool isEnum)
overridevirtual

Implements OutputGenIntf.

Definition at line 3354 of file htmlgen.cpp.

3355{
3356 DBG_HTML(m_t << "<!-- startMemberDocSimple -->\n";)
3357 m_t << "<table class=\"fieldtable\">\n";
3358 m_t << "<tr><th colspan=\"" << (isEnum?"2":"3") << "\">";
3359 m_t << (isEnum? theTranslator->trEnumerationValues() :
3360 theTranslator->trCompoundMembers()) << "</th></tr>\n";
3361}
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 2513 of file htmlgen.cpp.

2514{
2515}

◆ startMemberGroupDocs()

void HtmlGenerator::startMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2503 of file htmlgen.cpp.

2504{
2505 m_t << "<tr><td colspan=\"2\"><div class=\"groupText\">";
2506}

References OutputGenerator::m_t.

◆ startMemberGroupHeader()

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

Implements OutputGenIntf.

Definition at line 2493 of file htmlgen.cpp.

2494{
2495 m_t << "<tr id=\"" << id << "\" class=\"groupHeader\"><td colspan=\"2\"><div class=\"groupHeader\">";
2496}

References OutputGenerator::m_t.

◆ startMemberHeader()

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

Implements OutputGenIntf.

Definition at line 2133 of file htmlgen.cpp.

2134{
2135 DBG_HTML(m_t << "<!-- startMemberHeader -->\n")
2137 {
2138 m_t << "</table>";
2140 }
2141 if (m_emptySection)
2142 {
2143 m_t << "<table class=\"memberdecls\">\n";
2145 }
2146 m_t << "<tr class=\"heading\"><td colspan=\"" << typ << "\"><h2";
2147 if (!anchor.isEmpty())
2148 {
2149 m_t << " id=\"header-" << anchor << "\"";
2150 }
2151 m_t << " class=\"groupheader\">";
2152 if (!anchor.isEmpty())
2153 {
2154 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>\n";
2155 }
2156}

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

2018{
2019 DBG_HTML(m_t << "<!-- startMemberItem() -->\n")
2021 {
2022 m_t << "<table class=\"memberdecls\">\n";
2024 }
2025 m_t << "<tr class=\"memitem:" << convertToId(anchor);
2026 if (!inheritId.isEmpty())
2027 {
2028 m_t << " inherit " << inheritId;
2029 }
2030 m_t << "\"";
2031 if (!anchor.isEmpty())
2032 {
2033 m_t << " id=\"r_" << convertToId(anchor) << "\"";
2034 }
2035 m_t << ">";
2037}
void insertMemberAlignLeft(MemberItemType, bool) override
Definition htmlgen.cpp:2079

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

◆ startMemberList()

void HtmlGenerator::startMemberList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2003 of file htmlgen.cpp.

2004{
2005 DBG_HTML(m_t << "<!-- startMemberList -->\n")
2006}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberSections()

void HtmlGenerator::startMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2116 of file htmlgen.cpp.

2117{
2118 DBG_HTML(m_t << "<!-- startMemberSections -->\n")
2119 m_emptySection=TRUE; // we postpone writing <table> until we actually
2120 // write a row to prevent empty tables, which
2121 // are not valid XHTML!
2122}

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

◆ startMemberSubtitle()

void HtmlGenerator::startMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2164 of file htmlgen.cpp.

2165{
2166 DBG_HTML(m_t << "<!-- startMemberSubtitle -->\n")
2167 m_t << "<tr><td class=\"ititle\" colspan=\"2\">";
2168}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberTemplateParams()

void HtmlGenerator::startMemberTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2048 of file htmlgen.cpp.

2049{
2050}

◆ startPageDoc()

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

Implements OutputGenIntf.

Definition at line 3039 of file htmlgen.cpp.

3040{
3041 m_t << "<div>";
3042}

References OutputGenerator::m_t.

◆ startPageRef()

void HtmlGenerator::startPageRef ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 248 of file htmlgen.h.

248{}

◆ startParagraph()

void HtmlGenerator::startParagraph ( const QCString & classDef)
overridevirtual

Implements OutputGenIntf.

Definition at line 1653 of file htmlgen.cpp.

1654{
1655 if (!classDef.isEmpty())
1656 m_t << "\n<p class=\"" << classDef << "\">";
1657 else
1658 m_t << "\n<p>";
1659}

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

◆ startParameterDefVal()

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

Implements OutputGenIntf.

Definition at line 2333 of file htmlgen.cpp.

2334{
2335 m_t << "<span class=\"paramdefsep\">";
2336 docify(s);
2337 m_t << "</span><span class=\"paramdefval\">";
2338}

References docify(), and OutputGenerator::m_t.

◆ startParameterExtra()

void HtmlGenerator::startParameterExtra ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2304 of file htmlgen.cpp.

2305{
2306 DBG_HTML(m_t << "<!-- startParameterExtra -->\n";)
2307}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterList()

void HtmlGenerator::startParameterList ( bool openBracket)
overridevirtual

Implements OutputGenIntf.

Definition at line 2261 of file htmlgen.cpp.

2262{
2263 DBG_HTML(m_t << "<!-- startParameterList -->\n";)
2264 m_t << " <td>";
2265 if (openBracket) m_t << "(";
2266 m_t << "</td>\n";
2267}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterName()

void HtmlGenerator::startParameterName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2292 of file htmlgen.cpp.

2293{
2294 DBG_HTML(m_t << "<!-- startParameterName -->\n";)
2295 m_t << " <td class=\"paramname\"><span class=\"paramname\"><em>";
2296}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterType()

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

Implements OutputGenIntf.

Definition at line 2269 of file htmlgen.cpp.

2270{
2271 if (first)
2272 {
2273 DBG_HTML(m_t << "<!-- startFirstParameterType -->\n";)
2274 m_t << " <td class=\"paramtype\">";
2275 }
2276 else
2277 {
2278 DBG_HTML(m_t << "<!-- startParameterType -->\n";)
2279 m_t << " <tr>\n";
2280 m_t << " <td class=\"paramkey\">" << key << "</td>\n";
2281 m_t << " <td></td>\n";
2282 m_t << " <td class=\"paramtype\">";
2283 }
2284}

References DBG_HTML, and OutputGenerator::m_t.

◆ startPlainFile()

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

Implements OutputGenIntf.

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

1558{
1559 m_t << "<h3 class=\"version\">";
1560}

References OutputGenerator::m_t.

◆ startQuickIndices()

void HtmlGenerator::startQuickIndices ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 250 of file htmlgen.h.

250{}

◆ startSection()

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

Implements OutputGenIntf.

Definition at line 1814 of file htmlgen.cpp.

1815{
1816 switch(type.level())
1817 {
1818 case SectionType::Page: m_t << "\n\n<h1 class=\"doxsection\">"; break;
1819 case SectionType::Section: m_t << "\n\n<h2 class=\"doxsection\">"; break;
1820 case SectionType::Subsection: m_t << "\n\n<h3 class=\"doxsection\">"; break;
1821 case SectionType::Subsubsection: m_t << "\n\n<h4 class=\"doxsection\">"; break;
1822 case SectionType::Paragraph: m_t << "\n\n<h5 class=\"doxsection\">"; break;
1823 case SectionType::Subparagraph: m_t << "\n\n<h6 class=\"doxsection\">"; break;
1824 case SectionType::Subsubparagraph: m_t << "\n\n<h6 class=\"doxsection\">"; break;
1825 default: ASSERT(0); break;
1826 }
1827 m_t << "<a id=\"" << lab << "\" name=\"" << lab << "\"></a>";
1828}

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 236 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startTextBlock()

void HtmlGenerator::startTextBlock ( bool )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 287 of file htmlgen.h.

287{ 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 1760 of file htmlgen.cpp.

1761{
1762 m_t << "<a href=\"";
1763 QCString fn = f;
1765 m_t << createHtmlUrl(m_relPath,"",true,
1766 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1767 fn,
1768 anchor);
1769 m_t << "\">";
1770}
QCString createHtmlUrl(const QCString &relPath, const QCString &ref, bool href, bool isLocalFile, const QCString &targetFileName, const QCString &anchor)
Definition util.cpp:6199

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

◆ startTitle()

void HtmlGenerator::startTitle ( )
inlineprivate

Definition at line 338 of file htmlgen.h.

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

References OutputGenerator::m_t.

Referenced by startTitleHead().

◆ startTitleHead()

void HtmlGenerator::startTitleHead ( const QCString & )
overridevirtual

Implements OutputGenIntf.

Definition at line 3322 of file htmlgen.cpp.

3323{
3324 m_t << " <div class=\"headertitle\">";
3325 startTitle();
3326}
void startTitle()
Definition htmlgen.h:338

References OutputGenerator::m_t, and startTitle().

◆ startTocEntry()

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

Implements OutputGenIntf.

Definition at line 3563 of file htmlgen.cpp.

3564{
3565 SectionType type = si->type();
3566 if (type.isSection())
3567 {
3568 //printf(" level=%d title=%s maxLevel=%d\n",level,qPrint(si->title()),maxLevel);
3569 int nextLevel = type.level();
3570 if (nextLevel>m_tocState.level)
3571 {
3572 for (int l=m_tocState.level;l<nextLevel;l++)
3573 {
3574 if (l < m_tocState.maxLevel)
3575 {
3576 m_tocState.incIndent(m_t,"<ul>");
3577 char cs[2] = { static_cast<char>('0'+l+1), 0 };
3578 const char *empty = (l!=nextLevel-1) ? " empty" : "";
3579 m_tocState.incIndent(m_t,"<li class=\"level" + QCString(cs) + empty + "\">");
3580 }
3581 }
3582 }
3583 else if (nextLevel<m_tocState.level)
3584 {
3585 for (int l=m_tocState.level;l>nextLevel;l--)
3586 {
3587 if (l <= m_tocState.maxLevel) m_tocState.decIndent(m_t,"</li>");
3588 m_tocState.inLi[l] = false;
3589 if (l <= m_tocState.maxLevel) m_tocState.decIndent(m_t,"</ul>");
3590 }
3591 }
3592 if (nextLevel <= m_tocState.maxLevel)
3593 {
3594 if (m_tocState.inLi[nextLevel] || m_tocState.level>nextLevel)
3595 {
3596 m_tocState.decIndent(m_t,"</li>");
3597 char cs[2] = { static_cast<char>('0'+nextLevel), 0 };
3598 m_tocState.incIndent(m_t,"<li class=\"level" + QCString(cs) + "\">");
3599 }
3600 QCString label = si->label();
3601 m_tocState.writeIndent(m_t);
3602 m_t << "<a href=\"#"+label+"\">";
3603 }
3604 }
3605}
QCString label() const
Definition section.h:68

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

◆ startTypewriter()

void HtmlGenerator::startTypewriter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 164 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ type()

OutputType HtmlGenerator::type ( ) const
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 122 of file htmlgen.h.

122{ 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 212 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ writeChar()

void HtmlGenerator::writeChar ( char c)
overridevirtual

Implements OutputGenIntf.

Definition at line 1883 of file htmlgen.cpp.

1884{
1885 char cs[2];
1886 cs[0]=c;
1887 cs[1]=0;
1888 docify(cs);
1889}

References docify().

◆ writeDoc()

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

Implements OutputGenIntf.

Definition at line 2608 of file htmlgen.cpp.

2609{
2610 const DocNodeAST *astImpl = dynamic_cast<const DocNodeAST*>(ast);
2611 if (astImpl)
2612 {
2613 m_codeList->setId(id);
2614 HtmlDocVisitor visitor(m_t,*m_codeList,ctx,fileName());
2615 std::visit(visitor,astImpl->root);
2616 }
2617}
DocNodeVariant root
Definition docnode.h:1482

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

◆ writeExternalSearchPage()

void HtmlGenerator::writeExternalSearchPage ( )
static

Definition at line 3154 of file htmlgen.cpp.

3155{
3156 bool disableIndex = Config_getBool(DISABLE_INDEX);
3157 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3158 bool fullSidebar = Config_getBool(FULL_SIDEBAR);
3159 bool quickLinksAfterSplitbar = !disableIndex && generateTreeView && fullSidebar;
3160 QCString dname = Config_getString(HTML_OUTPUT);
3161 QCString fileName = dname+"/search"+Doxygen::htmlFileExtension;
3162 std::ofstream f = Portable::openOutputStream(fileName);
3163 if (f.is_open())
3164 {
3165 TextStream t(&f);
3167
3168 t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
3169 << getDoxygenVersion() << " -->\n";
3170 t << "<script type=\"text/javascript\">\n";
3171 t << "var searchBox = new SearchBox(\"searchBox\", \""
3172 << "search/\",'" << Doxygen::htmlFileExtension << "');\n";
3173 t << "</script>\n";
3174
3175 if (!disableIndex && !quickLinksAfterSplitbar)
3176 {
3177 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3178 }
3179 if (generateTreeView)
3180 {
3181 t << "</div><!-- top -->\n";
3182 }
3183 t << writeSplitBarAsString("search.php",QCString(),QCString());
3184 if (quickLinksAfterSplitbar)
3185 {
3186 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3187 }
3188
3189 t << "<div class=\"header\">\n";
3190 t << " <div class=\"headertitle\">\n";
3191 t << " <div class=\"title\">" << theTranslator->trSearchResultsTitle() << "</div>\n";
3192 t << " </div>\n";
3193 t << "</div>\n";
3194 t << "<div class=\"contents\">\n";
3195
3196 t << "<div id=\"searchresults\"></div>\n";
3197 t << "</div>\n";
3198
3199 if (generateTreeView)
3200 {
3201 t << "</div><!-- doc-content -->\n";
3202 t << "</div><!-- container -->\n";
3203 }
3204
3205 writePageFooter(t,"Search","","");
3206
3207 }
3208 f.close();
3209
3210 QCString scriptName = dname+"/search/search.js";
3211 f = Portable::openOutputStream(scriptName);
3212 if (f.is_open())
3213 {
3214 TextStream t(&f);
3215 t << "var searchResultsText=["
3216 << "\"" << theTranslator->trSearchResults(0) << "\","
3217 << "\"" << theTranslator->trSearchResults(1) << "\","
3218 << "\"" << theTranslator->trSearchResults(2) << "\"];\n";
3219 t << "var serverUrl=\"" << Config_getString(SEARCHENGINE_URL) << "\";\n";
3220 t << "var tagMap = {\n";
3221 bool first=TRUE;
3222 // add search mappings
3223 const StringVector &extraSearchMappings = Config_getList(EXTRA_SEARCH_MAPPINGS);
3224 for (const auto &ml : extraSearchMappings)
3225 {
3226 QCString mapLine = ml.c_str();
3227 int eqPos = mapLine.find('=');
3228 if (eqPos!=-1) // tag command contains a destination
3229 {
3230 QCString tagName = mapLine.left(eqPos).stripWhiteSpace();
3231 QCString destName = mapLine.right(mapLine.length()-eqPos-1).stripWhiteSpace();
3232 if (!tagName.isEmpty())
3233 {
3234 if (!first) t << ",\n";
3235 t << " \"" << tagName << "\": \"" << destName << "\"";
3236 first=FALSE;
3237 }
3238 }
3239 }
3240 if (!first) t << "\n";
3241 t << "};\n\n";
3242 t << ResourceMgr::instance().getAsString("extsearch.js");
3243 t << "\n";
3244 t << "$(function() {\n";
3245 t << " var query = trim(getURLParameter('query'));\n";
3246 t << " if (query) {\n";
3247 t << " searchFor(query,0,20);\n";
3248 t << " } else {\n";
3249 t << " var results = $('#results');\n";
3250 t << " results.html('<p>" << theTranslator->trSearchResults(0) << "</p>');\n";
3251 t << " }\n";
3252 t << "});\n";
3253 }
3254 else
3255 {
3256 err("Failed to open file '{}' for writing...\n",scriptName);
3257 }
3258}
static void writePageFooter(TextStream &t, const QCString &, const QCString &, const QCString &)
Definition htmlgen.cpp:1541
static QCString writeSplitBarAsString(const QCString &name, const QCString &relpath, const QCString &allMembersFile)
Definition htmlgen.cpp:2984
int find(char c, int index=0, bool cs=TRUE) const
Definition qcstring.cpp:43
size_t length() const
Returns the length of the string, not counting the 0-terminator.
Definition qcstring.h:153
QCString stripWhiteSpace() const
returns a copy of this string with leading and trailing whitespace removed
Definition qcstring.h:245
QCString right(size_t len) const
Definition qcstring.h:219
QCString left(size_t len) const
Definition qcstring.h:214
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:2830
#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 1547 of file htmlgen.cpp.

1548{
1550}

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

◆ writeFooterFile()

void HtmlGenerator::writeFooterFile ( TextStream & t)
static

Definition at line 1422 of file htmlgen.cpp.

1423{
1424 t << "<!-- HTML footer for doxygen " << getDoxygenVersion() << "-->\n";
1425 t << ResourceMgr::instance().getAsString("footer.html");
1426}

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

Referenced by readConfiguration().

◆ writeGraphicalHierarchy()

void HtmlGenerator::writeGraphicalHierarchy ( DotGfxHierarchyTable & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2488 of file htmlgen.cpp.

2489{
2490 g.writeGraph(m_t,dir(),fileName());
2491}
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 1416 of file htmlgen.cpp.

1417{
1418 t << "<!-- HTML header for doxygen " << getDoxygenVersion() << "-->\n";
1419 t << ResourceMgr::instance().getAsString("header.html");
1420}

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

3461{
3462 DBG_HTML(m_t << "<!-- writeInheritedSectionTitle -->\n";)
3463 QCString a = anchor;
3464 if (!a.isEmpty()) a.prepend("#");
3465 QCString classLink = QCString("<a class=\"el\" ");
3466 if (!ref.isEmpty())
3467 {
3468 classLink+= externalLinkTarget();
3469 classLink += " href=\"";
3470 classLink+= externalRef(m_relPath,ref,TRUE);
3471 }
3472 else
3473 {
3474 classLink += "href=\"";
3475 classLink+=m_relPath;
3476 }
3477 QCString fn = file;
3479 classLink=classLink+fn+a;
3480 classLink+=QCString("\">")+convertToHtml(name,FALSE)+"</a>";
3481 m_t << "<tr class=\"inherit_header " << id << "\">"
3482 << "<td colspan=\"2\" onclick=\"javascript:dynsection.toggleInherit('" << id << "')\">"
3483 << "<span class=\"dynarrow\"><span class=\"arrowhead closed\"></span></span>"
3484 << theTranslator->trInheritedFrom(convertToHtml(title,FALSE),classLink)
3485 << "</td></tr>\n";
3486}
virtual QCString trInheritedFrom(const QCString &members, const QCString &what)=0

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

◆ writeLabel()

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

Implements OutputGenIntf.

Definition at line 3411 of file htmlgen.cpp.

3412{
3413 DBG_HTML(m_t << "<!-- writeLabel(" << label << ") -->\n";)
3414
3415 auto convertLabelToClass = [](const std::string &lab) {
3416 QCString input = convertUTF8ToLower(lab);
3417 QCString result;
3418 size_t l=input.length();
3419 result.reserve(l);
3420
3421 // Create valid class selector, see 10.2 here https://www.w3.org/TR/selectors-3/#w3cselgrammar
3422 // ident [-]?{nmstart}{nmchar}*
3423 // nmstart [_a-z]|{nonascii}
3424 // nonascii [^\0-\177]
3425 // nmchar [_a-z0-9-]|{nonascii}
3426
3427 bool nmstart=false;
3428 for (size_t i=0; i<l; i++)
3429 {
3430 char c = input.at(i);
3431 if (c<0 || (c>='a' && c<='z') || c=='_') // nmstart pattern
3432 {
3433 nmstart=true;
3434 result+=c;
3435 }
3436 else if (nmstart && (c<0 || (c>='a' && c<='z') || (c>='0' && c<='9') || c=='_')) // nmchar pattern
3437 {
3438 result+=c;
3439 }
3440 else if (nmstart && (c==' ' || c=='-')) // show whitespace as -
3441 {
3442 result+='-';
3443 }
3444 }
3445 return result;
3446 };
3447
3448 m_t << "<span class=\"mlabel " << convertLabelToClass(label.stripWhiteSpace().str()) << "\">" << label << "</span>";
3449}
char & at(size_t i)
Returns a reference to the character at index i.
Definition qcstring.h:578
void reserve(size_t size)
Reserve space for size bytes without changing the string contents.
Definition qcstring.h:172
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 231 of file htmlgen.h.

231{}

◆ writeLogo()

void HtmlGenerator::writeLogo ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1536 of file htmlgen.cpp.

1537{
1539}
static QCString writeLogoAsString(const QCString &path)
Definition htmlgen.cpp:1505

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

◆ writeLogoAsString()

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

Definition at line 1505 of file htmlgen.cpp.

1506{
1507 QCString result;
1508 switch (Config_getEnum(TIMESTAMP))
1509 {
1510 case TIMESTAMP_t::YES:
1511 case TIMESTAMP_t::DATETIME:
1512 result += theTranslator->trGeneratedAt(
1514 Config_getString(PROJECT_NAME)
1515 );
1516 break;
1517 case TIMESTAMP_t::DATE:
1518 result += theTranslator->trGeneratedAt(
1520 Config_getString(PROJECT_NAME)
1521 );
1522 break;
1523 case TIMESTAMP_t::NO:
1524 result += theTranslator->trGeneratedBy();
1525 break;
1526 }
1527 result += "&#160;\n<a href=\"https://www.doxygen.org/index.html\">\n"
1528 "<img class=\"footer\" src=\"";
1529 result += path;
1530 result += "doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> ";
1531 result += getDoxygenVersion();
1532 result += " ";
1533 return result;
1534}
virtual QCString trGeneratedAt(const QCString &date, const QCString &projName)=0
QCString dateToString(DateTimeType includeTime)
Returns the current date, when includeTime is set also the time is provided.
Definition datetime.cpp:63

References Config_getEnum, Config_getString, Date, DateTime, dateToString(), and theTranslator.

Referenced by writeLogo(), and writeSearchPage().

◆ writeNavigationPath()

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

Implements OutputGenIntf.

Definition at line 3024 of file htmlgen.cpp.

3025{
3026 m_t << substitute(s,"$relpath^",m_relPath);
3027}

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

◆ writeNonBreakableSpace()

void HtmlGenerator::writeNonBreakableSpace ( int n)
overridevirtual

Implements OutputGenIntf.

Definition at line 2538 of file htmlgen.cpp.

2539{
2540 for (int i=0; i<n; i++)
2541 {
2542 m_t << "&#160;";
2543 }
2544}

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

1738{
1739 if (!ref.isEmpty())
1740 {
1741 m_t << "<a class=\"elRef\" ";
1743 }
1744 else
1745 {
1746 m_t << "<a class=\"el\" ";
1747 }
1748 m_t << "href=\"";
1749 QCString fn = f;
1751 m_t << createHtmlUrl(m_relPath,ref,true,
1752 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1753 fn,
1754 anchor);
1755 m_t << "\">";
1756 docify(name);
1757 m_t << "</a>";
1758}

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

1543{
1544 t << substituteHtmlKeywords(g_footer_file,g_footer,convertToHtml(lastTitle),relPath,navPath);
1545}

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 135 of file htmlgen.h.

135{}

◆ writePageOutline()

void HtmlGenerator::writePageOutline ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3515 of file htmlgen.cpp.

3516{
3517 m_t << "<div id=\"page-nav\" class=\"page-nav-panel\">\n";
3518 m_t << "<div id=\"page-nav-resize-handle\"></div>\n";
3519 m_t << "<div id=\"page-nav-tree\">\n";
3520 m_t << "<div id=\"page-nav-contents\">\n";
3521 m_t << "</div><!-- page-nav-contents -->\n";
3522 m_t << "</div><!-- page-nav-tree -->\n";
3523 m_t << "</div><!-- page-nav -->\n";
3524}

References OutputGenerator::m_t.

◆ writeQuickLinks()

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

Implements OutputGenIntf.

Definition at line 3049 of file htmlgen.cpp.

3050{
3051 writeDefaultQuickLinks(m_t,hli,file,m_relPath,extraTabs);
3052}

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

◆ writeRuler()

void HtmlGenerator::writeRuler ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 211 of file htmlgen.h.

211{ m_t << "<hr/>"; }

References OutputGenerator::m_t.

◆ writeSearchData()

void HtmlGenerator::writeSearchData ( const QCString & dir)
static

Definition at line 1297 of file htmlgen.cpp.

1298{
1299 //bool serverBasedSearch = Config_getBool(SERVER_BASED_SEARCH);
1300 //writeImgData(dname,serverBasedSearch ? search_server_data : search_client_data);
1301 ResourceMgr &mgr = ResourceMgr::instance();
1302
1303 QCString searchDirName = dname;
1304 std::ofstream f = Portable::openOutputStream(searchDirName+"/search.css");
1305 if (f.is_open())
1306 {
1307 TextStream t(&f);
1308 QCString searchCss;
1309 // the position of the search box depends on a number of settings.
1310 // Insert the right piece of CSS code depending on which options are selected
1311 if (Config_getBool(GENERATE_TREEVIEW) && Config_getBool(FULL_SIDEBAR))
1312 {
1313 searchCss = mgr.getAsString("search_sidebar.css"); // we have a full height side bar
1314 }
1315 else if (Config_getBool(DISABLE_INDEX))
1316 {
1317 if (Config_getBool(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE)
1318 {
1319 searchCss = mgr.getAsString("search_nomenu_toggle.css"); // we have no tabs but do have a darkmode button
1320 }
1321 else
1322 {
1323 searchCss = mgr.getAsString("search_nomenu.css"); // we have no tabs and no darkmode button
1324 }
1325 }
1326 else if (!Config_getBool(HTML_DYNAMIC_MENUS))
1327 {
1328 searchCss = mgr.getAsString("search_fixedtabs.css"); // we have tabs, but they are static
1329 }
1330 else
1331 {
1332 searchCss = mgr.getAsString("search.css"); // default case with a dynamic menu bar
1333 }
1334 // and then add the option independent part of the styling
1335 searchCss += mgr.getAsString("search_common.css");
1336 searchCss = substitute(searchCss,"$doxygenversion",getDoxygenVersion());
1337 t << replaceVariables(searchCss);
1338 Doxygen::indexList->addStyleSheetFile("search/search.css");
1339 }
1340}
void addStyleSheetFile(const QCString &name)
Definition indexlist.h:129

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

1500{
1502}
static void writeSearchInfoStatic(TextStream &t, const QCString &relPath)
Definition htmlgen.cpp:1469

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

◆ writeSearchInfoStatic()

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

Definition at line 1469 of file htmlgen.cpp.

1470{
1471 bool searchEngine = Config_getBool(SEARCHENGINE);
1472 bool serverBasedSearch = Config_getBool(SERVER_BASED_SEARCH);
1473 if (searchEngine && !serverBasedSearch)
1474 {
1475 t << "<!-- window showing the filter options -->\n";
1476 t << "<div id=\"MSearchSelectWindow\"\n";
1477 t << " onmouseover=\"return searchBox.OnSearchSelectShow()\"\n";
1478 t << " onmouseout=\"return searchBox.OnSearchSelectHide()\"\n";
1479 t << " onkeydown=\"return searchBox.OnSearchSelectKey(event)\">\n";
1480 t << "</div>\n";
1481 t << "\n";
1482 t << "<!-- iframe showing the search results (closed by default) -->\n";
1483 t << "<div id=\"MSearchResultsWindow\">\n";
1484 t << "<div id=\"MSearchResults\">\n";
1485 t << "<div class=\"SRPage\">\n";
1486 t << "<div id=\"SRIndex\">\n";
1487 t << "<div id=\"SRResults\"></div>\n"; // here the results will be inserted
1488 t << "<div class=\"SRStatus\" id=\"Loading\">" << theTranslator->trLoading() << "</div>\n";
1489 t << "<div class=\"SRStatus\" id=\"Searching\">" << theTranslator->trSearching() << "</div>\n";
1490 t << "<div class=\"SRStatus\" id=\"NoMatches\">" << theTranslator->trNoMatches() << "</div>\n";
1491 t << "</div>\n"; // SRIndex
1492 t << "</div>\n"; // SRPage
1493 t << "</div>\n"; // MSearchResults
1494 t << "</div>\n"; // MSearchResultsWindow
1495 t << "\n";
1496 }
1497}
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 3055 of file htmlgen.cpp.

3056{
3057 bool disableIndex = Config_getBool(DISABLE_INDEX);
3058 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3059 bool fullSidebar = Config_getBool(FULL_SIDEBAR);
3060 bool quickLinksAfterSplitbar = !disableIndex && generateTreeView && fullSidebar;
3061 QCString projectName = Config_getString(PROJECT_NAME);
3062 QCString htmlOutput = Config_getString(HTML_OUTPUT);
3063
3064 // OPENSEARCH_PROVIDER {
3065 QCString configFileName = htmlOutput+"/search_config.php";
3066 std::ofstream f = Portable::openOutputStream(configFileName);
3067 if (f.is_open())
3068 {
3069 TextStream t(&f);
3070 t << "<?php\n\n";
3071 t << "$config = array(\n";
3072 t << " 'PROJECT_NAME' => \"" << convertToHtml(projectName) << "\",\n";
3073 t << " 'GENERATE_TREEVIEW' => " << (generateTreeView?"true":"false") << ",\n";
3074 t << " 'DISABLE_INDEX' => " << (disableIndex?"true":"false") << ",\n";
3075 t << " 'FULL_SIDEBAR' => " << (fullSidebar?"true":"false") << ",\n";
3076 t << ");\n\n";
3077 t << "$translator = array(\n";
3078 t << " 'search_results_title' => \"" << theTranslator->trSearchResultsTitle() << "\",\n";
3079 t << " 'search_results' => array(\n";
3080 t << " 0 => \"" << theTranslator->trSearchResults(0) << "\",\n";
3081 t << " 1 => \"" << theTranslator->trSearchResults(1) << "\",\n";
3082 t << " 2 => \"" << substitute(theTranslator->trSearchResults(2), "$", "\\$") << "\",\n";
3083 t << " ),\n";
3084 t << " 'search_matches' => \"" << theTranslator->trSearchMatches() << "\",\n";
3085 t << " 'search' => \"" << theTranslator->trSearch() << "\",\n";
3086 t << " 'logo' => \"" << substitute(substitute(writeLogoAsString(""), "\"","\\\""), "\n","\\n") << "\",\n";
3087 t << ");\n\n";
3088 t << "?>\n";
3089 }
3090 f.close();
3091
3092 ResourceMgr::instance().copyResource("search_functions.php",htmlOutput);
3093 ResourceMgr::instance().copyResource("search_opensearch.php",htmlOutput);
3094 // OPENSEARCH_PROVIDER }
3095
3096 QCString fileName = htmlOutput+"/search.php";
3098 if (f.is_open())
3099 {
3100 TextStream t(&f);
3102
3103 t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
3104 << getDoxygenVersion() << " -->\n";
3105 t << "<script type=\"text/javascript\">\n";
3106 t << "var searchBox = new SearchBox(\"searchBox\", \""
3107 << "search/\",'" << Doxygen::htmlFileExtension << "');\n";
3108 t << "</script>\n";
3109
3110 if (!disableIndex && !quickLinksAfterSplitbar)
3111 {
3112 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3113 }
3114 if (generateTreeView)
3115 {
3116 t << "</div><!-- top -->\n";
3117 }
3118 t << writeSplitBarAsString("search.php",QCString(),QCString());
3119 if (quickLinksAfterSplitbar)
3120 {
3121 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3122 }
3123 t << "<!-- generated -->\n";
3124
3125 t << "<?php\n";
3126 t << "require_once \"search_functions.php\";\n";
3127 t << "main();\n";
3128 t << "?>\n";
3129
3130 // Write empty navigation path, to make footer connect properly
3131 if (generateTreeView)
3132 {
3133 t << "</div><!-- doc-content -->\n";
3134 t << "</div><!-- container -->\n";
3135 }
3136
3137 writePageFooter(t,"Search","","");
3138 }
3139 f.close();
3140
3141 QCString scriptName = htmlOutput+"/search/search.js";
3142 f = Portable::openOutputStream(scriptName);
3143 if (f.is_open())
3144 {
3145 TextStream t(&f);
3146 t << ResourceMgr::instance().getAsString("extsearch.js");
3147 }
3148 else
3149 {
3150 err("Failed to open file '{}' for writing...\n",scriptName);
3151 }
3152}
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 3019 of file htmlgen.cpp.

3020{
3021 m_t << writeSplitBarAsString(name,m_relPath,allMembersFile);
3022}

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

2985{
2986 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
2987 QCString result;
2988 // write split bar
2989 if (generateTreeView)
2990 {
2991 QCString fn = name;
2993 if (!Config_getBool(FULL_SIDEBAR))
2994 {
2995 result += QCString(
2996 "<div id=\"side-nav\" class=\"ui-resizable side-nav-resizable\">\n");
2997 }
2998 result+=
2999 " <div id=\"nav-tree\">\n"
3000 " <div id=\"nav-tree-contents\">\n"
3001 " <div id=\"nav-sync\" class=\"sync\"></div>\n"
3002 " </div>\n"
3003 " </div>\n"
3004 " <div id=\"splitbar\" style=\"-moz-user-select:none;\" \n"
3005 " class=\"ui-resizable-handle\">\n"
3006 " </div>\n"
3007 "</div>\n"
3008 "<script type=\"text/javascript\">\n"
3009 "$(function(){initNavTree('" + fn + "','" + relpath + "','" + allMembersFile + "'); });\n"
3010 "</script>\n";
3011 if (Config_getBool(DISABLE_INDEX) || !Config_getBool(FULL_SIDEBAR))
3012 {
3013 result+="<div id=\"container\">\n<div id=\"doc-content\">\n";
3014 }
3015 }
3016 return result;
3017}

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

1726{
1727 m_t << "<li>";
1728 if (!path.isEmpty()) docify(path);
1729 QCString fn = f;
1731 m_t << "<a class=\"el\" href=\"" << fn << "\">";
1732 docify(name);
1733 m_t << "</a> ";
1734}

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

◆ writeString()

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

Implements OutputGenIntf.

Definition at line 1666 of file htmlgen.cpp.

1667{
1668 m_t << text;
1669}

References OutputGenerator::m_t.

◆ writeStyleInfo()

void HtmlGenerator::writeStyleInfo ( int part)
overridevirtual

Implements OutputGenIntf.

Definition at line 1567 of file htmlgen.cpp.

1568{
1569 //printf("writeStyleInfo(%d)\n",part);
1570 if (part==0)
1571 {
1572 if (Config_getString(HTML_STYLESHEET).isEmpty()) // write default style sheet
1573 {
1574 //printf("write doxygen.css\n");
1575 startPlainFile("doxygen.css");
1577 endPlainFile();
1578 Doxygen::indexList->addStyleSheetFile("doxygen.css");
1579 }
1580 else // write user defined style sheet
1581 {
1582 QCString cssName=Config_getString(HTML_STYLESHEET);
1583 if (!cssName.startsWith("http:") && !cssName.startsWith("https:"))
1584 {
1585 FileInfo cssfi(cssName.str());
1586 if (!cssfi.exists() || !cssfi.isFile() || !cssfi.isReadable())
1587 {
1588 err("style sheet {} does not exist or is not readable!\n", Config_getString(HTML_STYLESHEET));
1589 }
1590 else
1591 {
1592 // convert style sheet to string
1593 QCString fileStr = fileToString(cssName);
1594 // write the string into the output dir
1595 startPlainFile(cssfi.fileName().c_str());
1596 m_t << fileStr;
1597 endPlainFile();
1598 }
1599 Doxygen::indexList->addStyleSheetFile(cssfi.fileName().c_str());
1600 }
1601 }
1602 const StringVector &extraCssFiles = Config_getList(HTML_EXTRA_STYLESHEET);
1603 for (const auto &fileName : extraCssFiles)
1604 {
1605 if (!fileName.empty())
1606 {
1607 FileInfo fi(fileName);
1608 if (fi.exists())
1609 {
1610 Doxygen::indexList->addStyleSheetFile(fi.fileName().c_str());
1611 }
1612 }
1613 }
1614
1616 Doxygen::indexList->addStyleSheetFile("navtree.css");
1617
1618 Doxygen::indexList->addStyleSheetFile("dynsections.js");
1619
1620 if (Config_getEnum(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE)
1621 {
1622 Doxygen::indexList->addStyleSheetFile("darkmode_toggle.js");
1623 }
1624
1625 if (Config_getBool(INTERACTIVE_SVG))
1626 {
1628 }
1629
1630 if (!Config_getBool(DISABLE_INDEX) && Config_getBool(HTML_DYNAMIC_MENUS))
1631 {
1633 Doxygen::indexList->addStyleSheetFile("menudata.js");
1634 }
1635 }
1636}
bool startsWith(const char *s) const
Definition qcstring.h:492
static void writeDefaultStyleSheet(TextStream &t)
Definition htmlgen.cpp:1342

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

1411{
1414}

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

3489{
3490 if (first)
3491 {
3492 m_t << " <div class=\"summary\">\n";
3493 }
3494 else
3495 {
3496 m_t << " &#124;\n";
3497 }
3498 m_t << "<a href=\"";
3499 if (!file.isEmpty())
3500 {
3501 QCString fn = file;
3503 m_t << m_relPath << fn;
3504 }
3505 else if (!anchor.isEmpty())
3506 {
3507 m_t << "#";
3508 m_t << anchor;
3509 }
3510 m_t << "\">";
3511 m_t << title;
3512 m_t << "</a>";
3513}

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

◆ writeSynopsis()

void HtmlGenerator::writeSynopsis ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 245 of file htmlgen.h.

245{}

◆ writeTabData()

void HtmlGenerator::writeTabData ( )
static

Additional initialization after indices have been created.

Definition at line 1288 of file htmlgen.cpp.

1289{
1291 QCString dname=Config_getString(HTML_OUTPUT);
1292 ResourceMgr &mgr = ResourceMgr::instance();
1293 mgr.copyResource("doxygen.svg",dname);
1294 Doxygen::indexList->addImageFile("doxygen.svg");
1295}
void addImageFile(const QCString &name)
Definition indexlist.h:126

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 349 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 348 of file htmlgen.h.

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

◆ m_emptySection

bool HtmlGenerator::m_emptySection = false
private

◆ m_lastFile

QCString HtmlGenerator::m_lastFile
private

Definition at line 344 of file htmlgen.h.

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

◆ m_lastTitle

QCString HtmlGenerator::m_lastTitle
private

Definition at line 343 of file htmlgen.h.

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

◆ m_pageOutlineIndent

int HtmlGenerator::m_pageOutlineIndent = 0
private

Definition at line 350 of file htmlgen.h.

◆ m_relPath

◆ m_sectionCount

◆ m_tocState

TocState HtmlGenerator::m_tocState
private

Definition at line 362 of file htmlgen.h.

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


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