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

1106 : OutputGenerator(Config_getString(HTML_OUTPUT))
1107 , m_codeList(std::make_unique<OutputCodeList>())
1108{
1109 //printf("%p:HtmlGenerator()\n",(void*)this);
1110 m_codeGen = m_codeList->add<HtmlCodeGenerator>(&m_t);
1111}
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 1113 of file htmlgen.cpp.

1113 : OutputGenerator(og.m_dir), OutputGenIntf()
1114{
1115 //printf("%p:HtmlGenerator(copy %p)\n",(void*)this,(void*)&og);
1116 m_codeList = std::make_unique<OutputCodeList>(*og.m_codeList);
1117 m_codeGen = m_codeList->get<HtmlCodeGenerator>(OutputType::Html);
1118 m_codeGen->setTextStream(&m_t);
1121 m_relPath = og.m_relPath;
1124}
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 1146 of file htmlgen.cpp.

1147{
1149}
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 2602 of file htmlgen.cpp.

2603{
2604}

◆ addLabel()

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

Implements OutputGenIntf.

Definition at line 1712 of file htmlgen.cpp.

1713{
1714}

◆ cleanup()

void HtmlGenerator::cleanup ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1303 of file htmlgen.cpp.

1304{
1305 QCString dname = Config_getString(HTML_OUTPUT);
1306 Dir d(dname.str());
1307 clearSubDirs(d);
1308}
const std::string & str() const
Definition qcstring.h:537
void clearSubDirs(const Dir &d)
Definition util.cpp:4180

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

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

1914{
1915 if (!str.isEmpty())
1916 {
1917 const char *p=str.data();
1918 while (*p)
1919 {
1920 char c=*p++;
1921 switch(c)
1922 {
1923 case '<': m_t << "&lt;"; break;
1924 case '>': m_t << "&gt;"; break;
1925 case '&': m_t << "&amp;"; break;
1926 case '"': m_t << "&quot;"; break;
1927 case '-': if (inHtmlComment) m_t << "&#45;"; else m_t << "-"; break;
1928 case '\\':
1929 if (*p=='<')
1930 { m_t << "&lt;"; p++; }
1931 else if (*p=='>')
1932 { m_t << "&gt;"; p++; }
1933 else if (*p=='(')
1934 { m_t << "\\&zwj;("; p++; }
1935 else if (*p==')')
1936 { m_t << "\\&zwj;)"; p++; }
1937 else
1938 m_t << "\\";
1939 break;
1940 default: m_t << c;
1941 }
1942 }
1943 }
1944}

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

2526{
2531
2533
2536}
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:2003
static void startSectionSummary(TextStream &t, int sectionCount)
Definition htmlgen.cpp:1981
static void endSectionContent(TextStream &t)
Definition htmlgen.cpp:2019
static void endSectionHeader(TextStream &t)
Definition htmlgen.cpp:1975
static void endSectionSummary(TextStream &t)
Definition htmlgen.cpp:1993
#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 2032 of file htmlgen.cpp.

2034{
2039 TextStream tt;
2041 if (!tt.empty())
2042 {
2043 m_t << " <div class=\"center\">\n";
2044 m_t << " <img src=\"";
2045 m_t << m_relPath << fileName << ".png\" usemap=\"#" << convertToId(name);
2046 m_t << "_map\" alt=\"\"/>\n";
2047 m_t << " <map id=\"" << convertToId(name);
2048 m_t << "_map\" name=\"" << convertToId(name);
2049 m_t << "_map\">\n";
2050 m_t << tt.str();
2051 m_t << " </map>\n";
2052 m_t << "</div>";
2053 }
2054 else
2055 {
2056 m_t << " <div class=\"center\">\n";
2057 m_t << " <img src=\"";
2058 m_t << m_relPath << fileName << ".png\" alt=\"\"/>\n";
2059 m_t << " </div>";
2060 }
2063}
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:4385

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

2132{
2133 m_t << "</div>";
2134}

References OutputGenerator::m_t.

◆ endConstraintDocs()

void HtmlGenerator::endConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3360 of file htmlgen.cpp.

3361{
3362 m_t << "</td></tr>\n";
3363}

References OutputGenerator::m_t.

◆ endConstraintList()

void HtmlGenerator::endConstraintList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3365 of file htmlgen.cpp.

3366{
3367 m_t << "</table>\n";
3368 m_t << "</dd>\n";
3369 m_t << "</dl>\n";
3370 m_t << "</div>\n";
3371}

References OutputGenerator::m_t.

◆ endConstraintParam()

void HtmlGenerator::endConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3340 of file htmlgen.cpp.

3341{
3342 m_t << "</em></td>";
3343}

References OutputGenerator::m_t.

◆ endConstraintType()

void HtmlGenerator::endConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3350 of file htmlgen.cpp.

3351{
3352 m_t << "</em></td>";
3353}

References OutputGenerator::m_t.

◆ endContents()

void HtmlGenerator::endContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3102 of file htmlgen.cpp.

3103{
3104 m_t << "</div><!-- contents -->\n";
3105}

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

2620{
2621 m_t << "</table>\n";
2622}

References OutputGenerator::m_t.

◆ endDescTableData()

void HtmlGenerator::endDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2659 of file htmlgen.cpp.

2660{
2661 m_t << "</td>";
2662}

References OutputGenerator::m_t.

◆ endDescTableInit()

void HtmlGenerator::endDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2649 of file htmlgen.cpp.

2650{
2651 m_t << "&#160;</td>";
2652}

References OutputGenerator::m_t.

◆ endDescTableRow()

void HtmlGenerator::endDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2629 of file htmlgen.cpp.

2630{
2631 m_t << "</tr>\n";
2632}

References OutputGenerator::m_t.

◆ endDescTableTitle()

void HtmlGenerator::endDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2639 of file htmlgen.cpp.

2640{
2641 m_t << "&#160;</td>";
2642}

References OutputGenerator::m_t.

◆ endDirDepGraph()

void HtmlGenerator::endDirDepGraph ( DotDirDeps & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2543 of file htmlgen.cpp.

2544{
2549
2551
2554}
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 2455 of file htmlgen.cpp.

2456{
2457 bool generateLegend = Config_getBool(GENERATE_LEGEND);
2458 bool umlLook = Config_getBool(UML_LOOK);
2463
2465 if (generateLegend && !umlLook)
2466 {
2467 QCString url = m_relPath+"graph_legend"+Doxygen::htmlFileExtension;
2468 m_t << "<center><span class=\"legend\">[";
2469 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
2470 m_t << "<a ";
2471 if (generateTreeView) m_t << "target=\"top\" ";
2472 m_t << "href=\"";
2473 if (!url.isEmpty()) m_t << url;
2474 m_t << "\">";
2476 m_t << "</a>";
2477 m_t << "]</span></center>";
2478 }
2479
2482}
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 1708 of file htmlgen.cpp.

1709{
1710}

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

2672{
2673 m_t << "</dl>\n";
2674}

References OutputGenerator::m_t.

◆ endFile()

void HtmlGenerator::endFile ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1615 of file htmlgen.cpp.

1616{
1617 endPlainFile();
1618}
void endPlainFile() override
Definition htmlgen.h:335

References endPlainFile().

◆ endGroupCollaboration()

void HtmlGenerator::endGroupCollaboration ( DotGroupCollaboration & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2507 of file htmlgen.cpp.

2508{
2513
2515
2518}
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 1861 of file htmlgen.cpp.

1862{
1863 if (extraIndentLevel==2)
1864 {
1865 m_t << "</h4>\n";
1866 }
1867 else if (extraIndentLevel==1)
1868 {
1869 m_t << "</h3>\n";
1870 }
1871 else
1872 {
1873 m_t << "</h2>\n";
1874 }
1875}

References OutputGenerator::m_t.

◆ endHeaderSection()

void HtmlGenerator::endHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3402 of file htmlgen.cpp.

3403{
3404 m_t << "</div><!--header-->\n";
3405}

References OutputGenerator::m_t.

◆ endInclDepGraph()

void HtmlGenerator::endInclDepGraph ( DotInclDepGraph & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2489 of file htmlgen.cpp.

2490{
2495
2497
2500}
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 2596 of file htmlgen.cpp.

2597{
2598 DBG_HTML(m_t << "<!-- endIndent -->\n";)
2599 m_t << "\n</div>\n" << "</div>\n";
2600}
#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 1774 of file htmlgen.cpp.

1775{
1776 //printf("HtmlGenerator::endIndexItem(%s,%s,%s)\n",ref,f,name);
1777 if (!ref.isEmpty() || !f.isEmpty())
1778 {
1779 m_t << "</a>";
1780 }
1781 else
1782 {
1783 m_t << "</b>";
1784 }
1785}

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

◆ endIndexKey()

void HtmlGenerator::endIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2259 of file htmlgen.cpp.

2260{
2261 //m_t << "</td>";
2262}

◆ endIndexList()

void HtmlGenerator::endIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2249 of file htmlgen.cpp.

2250{
2251 m_t << "</table>\n";
2252}

References OutputGenerator::m_t.

◆ endIndexListItem()

void HtmlGenerator::endIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1739 of file htmlgen.cpp.

1740{
1741 m_t << "</li>\n";
1742}

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

2270{
2271 //m_t << "</td></tr>\n";
2272}

◆ endInlineHeader()

void HtmlGenerator::endInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3417 of file htmlgen.cpp.

3418{
3419 m_t << "</h3></td></tr>\n";
3420}

References OutputGenerator::m_t.

◆ endInlineMemberDoc()

void HtmlGenerator::endInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3467 of file htmlgen.cpp.

3468{
3469 DBG_HTML(m_t << "<!-- endInlineMemberDoc -->\n";)
3470 m_t << "</td></tr>\n";
3471}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberName()

void HtmlGenerator::endInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3455 of file htmlgen.cpp.

3456{
3457 DBG_HTML(m_t << "<!-- endInlineMemberName -->\n";)
3458 m_t << "</td>\n";
3459}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberType()

void HtmlGenerator::endInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3443 of file htmlgen.cpp.

3444{
3445 DBG_HTML(m_t << "<!-- endInlineMemberType -->\n";)
3446 m_t << "</td>\n";
3447}

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

3520{
3521 DBG_HTML(m_t << "<!-- endLabels -->\n";)
3522 m_t << "</span>";
3523}

References DBG_HTML, and OutputGenerator::m_t.

◆ endLocalToc()

void HtmlGenerator::endLocalToc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3619 of file htmlgen.cpp.

3620{
3621 if (m_tocState.level > m_tocState.maxLevel) m_tocState.level = m_tocState.maxLevel;
3622 while (m_tocState.level>0)
3623 {
3624 m_tocState.decIndent(m_t,"</li>");
3625 m_tocState.decIndent(m_t,"</ul>");
3626 m_tocState.level--;
3627 }
3628 m_t << "</div>\n";
3629}
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 3594 of file htmlgen.cpp.

3595{
3596}

◆ endMemberDescription()

void HtmlGenerator::endMemberDescription ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2173 of file htmlgen.cpp.

2174{
2175 DBG_HTML(m_t << "<!-- endMemberDescription -->\n")
2176 m_t << "<br /></td></tr>\n";
2177}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDoc()

void HtmlGenerator::endMemberDoc ( bool hasArgs)
overridevirtual

Implements OutputGenIntf.

Definition at line 2439 of file htmlgen.cpp.

2440{
2441 DBG_HTML(m_t << "<!-- endMemberDoc -->\n";)
2442 if (!hasArgs)
2443 {
2444 m_t << " </tr>\n";
2445 }
2446 m_t << " </table>\n";
2447 // m_t << "</div>\n";
2448}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocList()

void HtmlGenerator::endMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2279 of file htmlgen.cpp.

2280{
2281 DBG_HTML(m_t << "<!-- endMemberDocList -->\n";)
2282}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocName()

void HtmlGenerator::endMemberDocName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2323 of file htmlgen.cpp.

2324{
2325 DBG_HTML(m_t << "<!-- endMemberDocName -->\n";)
2326 m_t << "</td>\n";
2327}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocPrefixItem()

void HtmlGenerator::endMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2307 of file htmlgen.cpp.

2308{
2309 DBG_HTML(m_t << "<!-- endMemberDocPrefixItem -->\n";)
2310 m_t << "</div>\n";
2311}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocSimple()

void HtmlGenerator::endMemberDocSimple ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 3431 of file htmlgen.cpp.

3432{
3433 DBG_HTML(m_t << "<!-- endMemberDocSimple -->\n";)
3434 m_t << "</table>\n";
3435}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberGroup()

void HtmlGenerator::endMemberGroup ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2585 of file htmlgen.cpp.

2586{
2587}

◆ endMemberGroupDocs()

void HtmlGenerator::endMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2576 of file htmlgen.cpp.

2577{
2578 m_t << "</div></td></tr>\n";
2579}

References OutputGenerator::m_t.

◆ endMemberGroupHeader()

void HtmlGenerator::endMemberGroupHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2566 of file htmlgen.cpp.

2567{
2568 m_t << "</div></td></tr>\n";
2569}

References OutputGenerator::m_t.

◆ endMemberHeader()

void HtmlGenerator::endMemberHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2221 of file htmlgen.cpp.

2222{
2223 DBG_HTML(m_t << "<!-- endMemberHeader -->\n")
2224 m_t << "</h2></td></tr>\n";
2225}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberItem()

void HtmlGenerator::endMemberItem ( MemberItemType type)
overridevirtual

Implements OutputGenIntf.

Definition at line 2102 of file htmlgen.cpp.

2103{
2105 {
2106 insertMemberAlign(false);
2107 }
2108 m_t << "</td></tr>\n";
2109}
OutputType type() const override
Definition htmlgen.h:122
void insertMemberAlign(bool) override
Definition htmlgen.cpp:2136

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

◆ endMemberList()

void HtmlGenerator::endMemberList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2071 of file htmlgen.cpp.

2072{
2073 DBG_HTML(m_t << "<!-- endMemberList -->\n")
2074}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberSections()

void HtmlGenerator::endMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2187 of file htmlgen.cpp.

2188{
2189 DBG_HTML(m_t << "<!-- endMemberSections -->\n")
2190 if (!m_emptySection)
2191 {
2192 m_t << "</table>\n";
2193 }
2194}

References DBG_HTML, m_emptySection, and OutputGenerator::m_t.

◆ endMemberSubtitle()

void HtmlGenerator::endMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2238 of file htmlgen.cpp.

2239{
2240 DBG_HTML(m_t << "<!-- endMemberSubtitle -->\n")
2241 m_t << "</td></tr>\n";
2242}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberTemplateParams()

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

Implements OutputGenIntf.

Definition at line 2115 of file htmlgen.cpp.

2116{
2117 m_t << "</td></tr>\n";
2118 m_t << "<tr class=\"memitem:" << convertToId(anchor);
2119 if (!inheritId.isEmpty())
2120 {
2121 m_t << " inherit " << inheritId;
2122 }
2123 m_t << " template\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">";
2124}

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

◆ endPageDoc()

void HtmlGenerator::endPageDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3112 of file htmlgen.cpp.

3113{
3114 m_t << "</div><!-- PageDoc -->\n";
3115}

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

1725{
1726 m_t << "</p>\n";
1727}

References OutputGenerator::m_t.

◆ endParameterDefVal()

void HtmlGenerator::endParameterDefVal ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2408 of file htmlgen.cpp.

2409{
2410 m_t << "</span>";
2411}

References OutputGenerator::m_t.

◆ endParameterExtra()

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

Implements OutputGenIntf.

Definition at line 2377 of file htmlgen.cpp.

2378{
2379 DBG_HTML(m_t << "<!-- endParameterExtra -->\n";)
2380 if (last)
2381 {
2382 if (emptyList)
2383 {
2384 if (closeBracket) m_t << "</td><td>)";
2385 m_t << "</td>\n";
2386 m_t << " <td>";
2387 }
2388 else
2389 {
2390 m_t << "&#160;";
2391 if (closeBracket) m_t << ")";
2392 }
2393 }
2394 else
2395 {
2396 m_t << "</td>\n";
2397 m_t << " </tr>\n";
2398 }
2399}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterList()

void HtmlGenerator::endParameterList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2413 of file htmlgen.cpp.

2414{
2415 DBG_HTML(m_t << "<!-- endParameterList -->\n";)
2416 m_t << "</td>\n";
2417 m_t << " </tr>\n";
2418}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterName()

void HtmlGenerator::endParameterName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2366 of file htmlgen.cpp.

2367{
2368 DBG_HTML(m_t << "<!-- endParameterName -->\n";)
2369 m_t << "</em></span>";
2370}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterType()

void HtmlGenerator::endParameterType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2354 of file htmlgen.cpp.

2355{
2356 DBG_HTML(m_t << "<!-- endParameterType -->\n";)
2357 m_t << "</td>";
2358}

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

1626{
1627 m_t << "</h3>";
1628}

References OutputGenerator::m_t.

◆ endQuickIndices()

void HtmlGenerator::endQuickIndices ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3042 of file htmlgen.cpp.

3043{
3044 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3045 m_t << "</div><!-- top -->\n";
3046 if (!generateTreeView)
3047 {
3048 m_t << "<div id=\"doc-content\">\n";
3049 }
3050}

References Config_getBool, and OutputGenerator::m_t.

◆ endSection()

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

Implements OutputGenIntf.

Definition at line 1893 of file htmlgen.cpp.

1894{
1895 switch(type.level())
1896 {
1897 case SectionType::Page: m_t << "</h1>"; break;
1898 case SectionType::Section: m_t << "</h2>"; break;
1899 case SectionType::Subsection: m_t << "</h3>"; break;
1900 case SectionType::Subsubsection: m_t << "</h4>"; break;
1901 case SectionType::Paragraph: m_t << "</h5>"; break;
1902 case SectionType::Subparagraph: m_t << "</h6>"; break;
1903 case SectionType::Subsubparagraph: m_t << "</h6>"; break;
1904 default: ASSERT(0); break;
1905 }
1906}
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 1835 of file htmlgen.cpp.

1836{
1837 m_t << "</a>";
1838}

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

3397{
3398 endTitle();
3399 m_t << "</div>\n";
3400}
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 3675 of file htmlgen.cpp.

3676{
3677 SectionType type = si->type();
3678 int nextLevel = type.level();
3679 if (type.isSection() && nextLevel<=m_tocState.maxLevel)
3680 {
3681 m_t << "</a>\n";
3682 m_tocState.inLi[nextLevel]=true;
3683 m_tocState.level = nextLevel;
3684 }
3685}
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 2420 of file htmlgen.cpp.

2421{
2422 DBG_HTML(m_t << "<!-- exceptionEntry -->\n";)
2423 if (!closeBracket)
2424 {
2425 m_t << "</td>\n";
2426 m_t << " </tr>\n";
2427 m_t << " <tr>\n";
2428 m_t << " <td align=\"right\">";
2429 }
2430 // colspan 2 so it gets both parameter type and parameter name columns
2431 if (!prefix.isEmpty())
2432 m_t << prefix << "</td><td>(</td><td colspan=\"2\">";
2433 else if (closeBracket)
2434 m_t << "&#160;)</td><td></td><td></td><td>";
2435 else
2436 m_t << "</td><td></td><td colspan=\"2\">";
2437}
constexpr auto prefix
Definition anchor.cpp:44

References DBG_HTML, OutputGenerator::m_t, and prefix.

◆ getMathJaxMacros()

QCString HtmlGenerator::getMathJaxMacros ( )
static

Definition at line 3598 of file htmlgen.cpp.

3599{
3600 return getConvertLatexMacro();
3601}
static QCString getConvertLatexMacro()
Convert a set of LaTeX commands \‍(re)newcommand to a form readable by MathJax LaTeX syntax:
Definition htmlgen.cpp:150

References getConvertLatexMacro().

◆ getNavTreeCss()

QCString HtmlGenerator::getNavTreeCss ( )
static

Definition at line 3603 of file htmlgen.cpp.

3604{
3605 ResourceMgr &mgr = ResourceMgr::instance();
3606 return replaceVariables(mgr.getAsString("navtree.css"));
3607}
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 1160 of file htmlgen.cpp.

1161{
1162 QCString dname = Config_getString(HTML_OUTPUT);
1163 Dir d(dname.str());
1164 if (!d.exists() && !d.mkdir(dname.str()))
1165 {
1166 term("Could not create output directory {}\n",dname);
1167 }
1168 //writeLogo(dname);
1169 if (!Config_getString(HTML_HEADER).isEmpty())
1170 {
1171 g_header_file=Config_getString(HTML_HEADER);
1174 //printf("g_header='%s'\n",qPrint(g_header));
1175 QCString result = substituteHtmlKeywords(g_header_file,g_header,QCString(),QCString());
1176 checkBlocks(result,Config_getString(HTML_HEADER),htmlMarkerInfo);
1177 }
1178 else
1179 {
1180 g_header_file="header.html";
1183 QCString result = substituteHtmlKeywords(g_header_file,g_header,QCString(),QCString());
1184 checkBlocks(result,"<default header.html>",htmlMarkerInfo);
1185 }
1186
1187 if (!Config_getString(HTML_FOOTER).isEmpty())
1188 {
1189 g_footer_file=Config_getString(HTML_FOOTER);
1192 //printf("g_footer='%s'\n",qPrint(g_footer));
1193 QCString result = substituteHtmlKeywords(g_footer_file,g_footer,QCString(),QCString());
1194 checkBlocks(result,Config_getString(HTML_FOOTER),htmlMarkerInfo);
1195 }
1196 else
1197 {
1198 g_footer_file = "footer.html";
1201 QCString result = substituteHtmlKeywords(g_footer_file,g_footer,QCString(),QCString());
1202 checkBlocks(result,"<default footer.html>",htmlMarkerInfo);
1203 }
1204
1205 if (Config_getBool(USE_MATHJAX))
1206 {
1207 if (!Config_getString(MATHJAX_CODEFILE).isEmpty())
1208 {
1209 g_mathjax_code=fileToString(Config_getString(MATHJAX_CODEFILE));
1210 //printf("g_mathjax_code='%s'\n",qPrint(g_mathjax_code));
1211 }
1213 //printf("converted g_latex_macro='%s'\n",qPrint(g_latex_macro));
1214 }
1215 createSubDirs(d);
1216
1218
1219 ResourceMgr &mgr = ResourceMgr::instance();
1220
1221 {
1222 QCString tabsCss;
1223 if (Config_getBool(HTML_DYNAMIC_MENUS))
1224 {
1225 tabsCss = mgr.getAsString("tabs.css");
1226 }
1227 else // stylesheet for the 'old' static tabs
1228 {
1229 tabsCss = mgr.getAsString("fixed_tabs.css");
1230 }
1231
1232 std::ofstream f = Portable::openOutputStream(dname+"/tabs.css");
1233 if (f.is_open())
1234 {
1235 TextStream t(&f);
1236 t << replaceVariables(tabsCss);
1237 }
1238 }
1239
1240
1241 mgr.copyResource("jquery.js",dname);
1242 if (Config_getBool(INTERACTIVE_SVG))
1243 {
1244 mgr.copyResource("svg.min.js",dname);
1245 }
1246
1247 if (!Config_getBool(DISABLE_INDEX) && Config_getBool(HTML_DYNAMIC_MENUS))
1248 {
1249 mgr.copyResource("menu.js",dname);
1250 }
1251
1252 // copy navtree.css
1253 {
1254 std::ofstream f = Portable::openOutputStream(dname+"/navtree.css");
1255 if (f.is_open())
1256 {
1257 TextStream t(&f);
1258 t << getNavTreeCss();
1259 }
1260 }
1261
1262 if (Config_getBool(HTML_COPY_CLIPBOARD))
1263 {
1264 std::ofstream f = Portable::openOutputStream(dname+"/clipboard.js");
1265 if (f.is_open())
1266 {
1267 TextStream t(&f);
1268 t << substitute(mgr.getAsString("clipboard.js"),"$copy_to_clipboard_text",theTranslator->trCopyToClipboard());
1269 }
1270 }
1271
1272 bool hasCookie = Config_getBool(GENERATE_TREEVIEW) || Config_getBool(SEARCHENGINE) || Config_getEnum(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE;
1273 if (hasCookie)
1274 {
1275 mgr.copyResource("cookie.js",dname);
1276 }
1277
1278 if (Config_getBool(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE)
1279 {
1280 std::ofstream f = Portable::openOutputStream(dname+"/darkmode_toggle.js");
1281 if (f.is_open())
1282 {
1283 TextStream t(&f);
1284 t << substitute(replaceColorMarkers(mgr.getAsString("darkmode_toggle.js")),
1285 "$PROJECTID",getProjectId());
1286 }
1287 }
1288
1289 {
1290 std::ofstream f = Portable::openOutputStream(dname+"/dynsections.js");
1291 if (f.is_open())
1292 {
1293 TextStream t(&f);
1294 t << replaceVariables(mgr.getAsString("dynsections.js"));
1295 if (Config_getBool(SOURCE_BROWSER) && Config_getBool(SOURCE_TOOLTIPS))
1296 {
1297 t << replaceVariables(mgr.getAsString("dynsections_tooltips.js"));
1298 }
1299 }
1300 }
1301}
static QCString getNavTreeCss()
Definition htmlgen.cpp:3603
bool copyResource(const QCString &name, const QCString &targetDir) const
Copies a registered resource to a given target directory.
virtual QCString trCopyToClipboard()=0
#define Config_getEnum(name)
Definition config.h:35
static bool g_build_date
Definition htmlgen.cpp:70
static QCString g_header
Definition htmlgen.cpp:64
static QCString g_header_file
Definition htmlgen.cpp:65
static QCString g_mathjax_code
Definition htmlgen.cpp:68
static QCString g_footer
Definition htmlgen.cpp:67
static const SelectionMarkerInfo htmlMarkerInfo
Definition htmlgen.cpp:73
static QCString g_footer_file
Definition htmlgen.cpp:66
static bool hasDateReplacement(const QCString &str)
Definition htmlgen.cpp:1151
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:324
#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:7033
QCString fileToString(const QCString &name, bool filter, bool isSourceCode)
Definition util.cpp:1442
void createSubDirs(const Dir &d)
Definition util.cpp:4153
QCString getProjectId()
Definition util.cpp:7322
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:6319

References checkBlocks(), Config_getBool, Config_getEnum, Config_getString, ResourceMgr::copyResource(), createSubDirs(), Dir::exists(), fileToString(), fillColorStyleMaps(), g_build_date, g_footer, g_footer_file, g_header, g_header_file, g_latex_macro, g_mathjax_code, ResourceMgr::getAsString(), getConvertLatexMacro(), getNavTreeCss(), getProjectId(), hasDateReplacement(), htmlMarkerInfo, ResourceMgr::instance(), Dir::mkdir(), Portable::openOutputStream(), replaceColorMarkers(), replaceVariables(), QCString::str(), substitute(), substituteHtmlKeywords(), term, and theTranslator.

Referenced by generateOutput().

◆ insertMemberAlign()

void HtmlGenerator::insertMemberAlign ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2136 of file htmlgen.cpp.

2137{
2138 DBG_HTML(m_t << "<!-- insertMemberAlign -->\n")
2139 m_t << "&#160;</td><td class=\"memItemRight\" valign=\"bottom\">";
2140}

References DBG_HTML, and OutputGenerator::m_t.

Referenced by endMemberItem().

◆ insertMemberAlignLeft()

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

Implements OutputGenIntf.

Definition at line 2142 of file htmlgen.cpp.

2143{
2144 if (!initTag) m_t << "&#160;</td>";
2145 switch (type)
2146 {
2147 case MemberItemType::Normal: m_t << "<td class=\"memItemLeft\" align=\"right\" valign=\"top\">"; break;
2148 case MemberItemType::AnonymousStart: m_t << "<td class=\"memItemLeft anon\">"; break;
2149 case MemberItemType::AnonymousEnd: m_t << "<td class=\"memItemLeft anonEnd\" valign=\"top\">"; break;
2150 case MemberItemType::Templated: m_t << "<td class=\"memTemplParams\" colspan=\"2\">"; break;
2151 }
2152}

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

3374{
3375 if (!style.isEmpty())
3376 {
3377 m_t << "<br class=\"" << style << "\" />\n";
3378 }
3379 else
3380 {
3381 m_t << "<br />\n";
3382 }
3383}

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

◆ operator=() [1/2]

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

Definition at line 1126 of file htmlgen.cpp.

1127{
1128 //printf("%p:HtmlGenerator(copy assign %p)\n",(void*)this,(void*)&og);
1129 if (this!=&og)
1130 {
1131 m_dir = og.m_dir;
1132 m_codeList = std::make_unique<OutputCodeList>(*og.m_codeList);
1133 m_codeGen = m_codeList->get<HtmlCodeGenerator>(OutputType::Html);
1134 m_codeGen->setTextStream(&m_t);
1137 m_relPath = og.m_relPath;
1140 }
1141 return *this;
1142}

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

2521{
2523}
static void startSectionHeader(TextStream &t, const QCString &relPath, int sectionCount)
Definition htmlgen.cpp:1956

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

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

◆ startCompoundTemplateParams()

void HtmlGenerator::startCompoundTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2126 of file htmlgen.cpp.

2127{
2128 m_t << "<div class=\"compoundTemplParams\">";
2129}

References OutputGenerator::m_t.

◆ startConstraintDocs()

void HtmlGenerator::startConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3355 of file htmlgen.cpp.

3356{
3357 m_t << "<td>&#160;";
3358}

References OutputGenerator::m_t.

◆ startConstraintList()

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

Implements OutputGenIntf.

Definition at line 3328 of file htmlgen.cpp.

3329{
3330 m_t << "<div class=\"typeconstraint\">\n";
3331 m_t << "<dl><dt><b>" << header << "</b></dt><dd>\n";
3332 m_t << "<table border=\"0\" cellspacing=\"2\" cellpadding=\"0\">\n";
3333}

References OutputGenerator::m_t.

◆ startConstraintParam()

void HtmlGenerator::startConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3335 of file htmlgen.cpp.

3336{
3337 m_t << "<tr><td valign=\"top\"><em>";
3338}

References OutputGenerator::m_t.

◆ startConstraintType()

void HtmlGenerator::startConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3345 of file htmlgen.cpp.

3346{
3347 m_t << "<td>&#160;:</td><td valign=\"top\"><em>";
3348}

References OutputGenerator::m_t.

◆ startContents()

void HtmlGenerator::startContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3097 of file htmlgen.cpp.

3098{
3099 m_t << "<div class=\"contents\">\n";
3100}

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

2615{
2616 m_t << "<table class=\"fieldtable\">\n"
2617 << "<tr><th colspan=\"" << (hasInits?3:2) << "\">" << title << "</th></tr>";
2618}

References OutputGenerator::m_t.

◆ startDescTableData()

void HtmlGenerator::startDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2654 of file htmlgen.cpp.

2655{
2656 m_t << "<td class=\"fielddoc\">";
2657}

References OutputGenerator::m_t.

◆ startDescTableInit()

void HtmlGenerator::startDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2644 of file htmlgen.cpp.

2645{
2646 m_t << "<td class=\"fieldinit\">";
2647}

References OutputGenerator::m_t.

◆ startDescTableRow()

void HtmlGenerator::startDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2624 of file htmlgen.cpp.

2625{
2626 m_t << "<tr>";
2627}

References OutputGenerator::m_t.

◆ startDescTableTitle()

void HtmlGenerator::startDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2634 of file htmlgen.cpp.

2635{
2636 m_t << "<td class=\"fieldname\">";
2637}

References OutputGenerator::m_t.

◆ startDirDepGraph()

void HtmlGenerator::startDirDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2538 of file htmlgen.cpp.

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

◆ startDotGraph()

void HtmlGenerator::startDotGraph ( )
overridevirtual

Implements OutputGenIntf.

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

1704{
1705 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>";
1706}

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

2665{
2666 m_t << "<dl class=\"section examples\"><dt>";
2668 m_t << "</dt>";
2669}
void docify(const QCString &text) override
Definition htmlgen.cpp:1908
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 1502 of file htmlgen.cpp.

1504{
1505 //printf("HtmlGenerator::startFile(%s)\n",qPrint(name));
1507 QCString fileName = name;
1509 m_lastTitle=title;
1510
1512 m_codeGen->setFileName(fileName);
1513 m_codeGen->setRelativePath(m_relPath);
1514 {
1515 std::lock_guard<std::mutex> lock(g_indexLock);
1517 }
1518
1521
1522 m_t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
1523 << getDoxygenVersion() << " -->\n";
1524 bool searchEngine = Config_getBool(SEARCHENGINE);
1525 if (searchEngine /*&& !generateTreeView*/)
1526 {
1527 m_t << "<script type=\"text/javascript\">\n";
1528 m_t << "var searchBox = new SearchBox(\"searchBox\", \""
1529 << m_relPath<< "search/\",'" << Doxygen::htmlFileExtension << "');\n";
1530 m_t << "</script>\n";
1531 }
1532 if (Config_getBool(HTML_CODE_FOLDING))
1533 {
1534 m_t << "<script type=\"text/javascript\">\n";
1535 m_t << "$(function() { codefold.init(); });\n";
1536 m_t << "</script>\n";
1537 }
1539}
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:124
virtual QCString trGeneratedBy()=0
static std::mutex g_indexLock
Definition htmlgen.cpp:1500
QCString convertToHtml(const QCString &s, bool keepEntities)
Definition util.cpp:4476
QCString relativePathToRoot(const QCString &name)
Definition util.cpp:4092
QCString filterTitle(const QCString &title)
Definition util.cpp:6127
void addHtmlExtensionIfMissing(QCString &fName)
Definition util.cpp:5412

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

1841{
1842 if (extraIndentLevel==2)
1843 {
1844 m_t << "<h4";
1845 }
1846 else if (extraIndentLevel==1)
1847 {
1848 m_t << "<h3";
1849 }
1850 else // extraIndentLevel==0
1851 {
1852 m_t << "<h2";
1853 }
1854 if (!id.isEmpty())
1855 {
1856 m_t <<" id=\"header-"+convertToId(id)+"\"";
1857 }
1858 m_t << " class=\"groupheader\">";
1859}

References convertToId(), and OutputGenerator::m_t.

◆ startHeaderSection()

void HtmlGenerator::startHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3385 of file htmlgen.cpp.

3386{
3387 m_t << "<div class=\"header\">\n";
3388}

References OutputGenerator::m_t.

◆ startInclDepGraph()

void HtmlGenerator::startInclDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2484 of file htmlgen.cpp.

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

◆ startIndent()

void HtmlGenerator::startIndent ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2589 of file htmlgen.cpp.

2590{
2591 DBG_HTML(m_t << "<!-- startIndent -->\n";)
2592
2593 m_t << "<div class=\"memdoc\">\n";
2594}

References DBG_HTML, and OutputGenerator::m_t.

◆ startIndexItem()

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

Implements OutputGenIntf.

Definition at line 1744 of file htmlgen.cpp.

1745{
1746 //printf("HtmlGenerator::startIndexItem(%s,%s)\n",ref,f);
1747 if (!ref.isEmpty() || !f.isEmpty())
1748 {
1749 if (!ref.isEmpty())
1750 {
1751 m_t << "<a class=\"elRef\" ";
1753 }
1754 else
1755 {
1756 m_t << "<a class=\"el\" ";
1757 }
1758 m_t << "href=\"";
1759 m_t << externalRef(m_relPath,ref,TRUE);
1760 if (!f.isEmpty())
1761 {
1762 QCString fn=f;
1764 m_t << fn;
1765 }
1766 m_t << "\">";
1767 }
1768 else
1769 {
1770 m_t << "<b>";
1771 }
1772}
QCString externalRef(const QCString &relPath, const QCString &ref, bool href)
Definition util.cpp:6266
QCString externalLinkTarget(const bool parent)
Definition util.cpp:6222

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

◆ startIndexKey()

void HtmlGenerator::startIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2254 of file htmlgen.cpp.

2255{
2256 //m_t << " <tr><td class=\"indexkey\">";
2257}

◆ startIndexList()

void HtmlGenerator::startIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2244 of file htmlgen.cpp.

2245{
2246 m_t << "<table>\n";
2247}

References OutputGenerator::m_t.

◆ startIndexListItem()

void HtmlGenerator::startIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1734 of file htmlgen.cpp.

1735{
1736 m_t << "<li>";
1737}

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

2265{
2266 //m_t << "<td class=\"indexvalue\">";
2267}

◆ startInlineHeader()

void HtmlGenerator::startInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3407 of file htmlgen.cpp.

3408{
3409 if (m_emptySection)
3410 {
3411 m_t << "<table class=\"memberdecls\">\n";
3413 }
3414 m_t << "<tr><td colspan=\"2\"><h3>";
3415}

References FALSE, m_emptySection, and OutputGenerator::m_t.

◆ startInlineMemberDoc()

void HtmlGenerator::startInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3461 of file htmlgen.cpp.

3462{
3463 DBG_HTML(m_t << "<!-- startInlineMemberDoc -->\n";)
3464 m_t << "<td class=\"fielddoc\">\n";
3465}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberName()

void HtmlGenerator::startInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3449 of file htmlgen.cpp.

3450{
3451 DBG_HTML(m_t << "<!-- startInlineMemberName -->\n";)
3452 m_t << "<td class=\"fieldname\">\n";
3453}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberType()

void HtmlGenerator::startInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3437 of file htmlgen.cpp.

3438{
3439 DBG_HTML(m_t << "<!-- startInlineMemberType -->\n";)
3440 m_t << "<tr><td class=\"fieldtype\">\n";
3441}

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

3474{
3475 DBG_HTML(m_t << "<!-- startLabels -->\n";)
3476 m_t << "<span class=\"mlabels\">";
3477}

References DBG_HTML, and OutputGenerator::m_t.

◆ startLocalToc()

void HtmlGenerator::startLocalToc ( int level)
overridevirtual

Implements OutputGenIntf.

Definition at line 3609 of file htmlgen.cpp.

3610{
3611 m_tocState.level=0;
3612 m_tocState.indent=0;
3613 m_tocState.maxLevel=level;
3614 m_tocState.inLi = BoolVector(level+1,false);
3615 m_t << "<div class=\"toc\">";
3616 m_t << "<h3>" << theTranslator->trRTFTableOfContents() << "</h3>\n";
3617}
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 2154 of file htmlgen.cpp.

2155{
2156 DBG_HTML(m_t << "<!-- startMemberDescription -->\n")
2157 if (m_emptySection)
2158 {
2159 m_t << "<table class=\"memberdecls\">\n";
2161 }
2162 m_t << "<tr class=\"memdesc:" << anchor;
2163 if (!inheritId.isEmpty())
2164 {
2165 m_t << " inherit " << inheritId;
2166 }
2167 m_t << "\">";
2168 m_t << "<td class=\"mdescLeft\">&#160;</td>";
2169 if (typ) m_t << "<td class=\"mdescLeft\">&#160;</td>";
2170 m_t << "<td class=\"mdescRight\">";
2171}

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

2287{
2288 DBG_HTML(m_t << "<!-- startMemberDoc -->\n";)
2289 m_t << "\n<h2 class=\"memtitle\">"
2290 << "<span class=\"permalink\"><a href=\"#" << anchor << "\">&#9670;&#160;</a></span>";
2291 docify(title);
2292 if (memTotal>1)
2293 {
2294 m_t << " <span class=\"overload\">[" << memCount << "/" << memTotal <<"]</span>";
2295 }
2296 m_t << "</h2>\n";
2297 m_t << "\n<div class=\"memitem\">\n";
2298 m_t << "<div class=\"memproto\">\n";
2299}

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

◆ startMemberDocList()

void HtmlGenerator::startMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2274 of file htmlgen.cpp.

2275{
2276 DBG_HTML(m_t << "<!-- startMemberDocList -->\n";)
2277}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocName()

void HtmlGenerator::startMemberDocName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2313 of file htmlgen.cpp.

2314{
2315 DBG_HTML(m_t << "<!-- startMemberDocName -->\n";)
2316
2317 m_t << " <table class=\"memname\">\n";
2318
2319 m_t << " <tr>\n";
2320 m_t << " <td class=\"memname\">";
2321}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocPrefixItem()

void HtmlGenerator::startMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2301 of file htmlgen.cpp.

2302{
2303 DBG_HTML(m_t << "<!-- startMemberDocPrefixItem -->\n";)
2304 m_t << "<div class=\"memtemplate\">\n";
2305}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocSimple()

void HtmlGenerator::startMemberDocSimple ( bool isEnum)
overridevirtual

Implements OutputGenIntf.

Definition at line 3422 of file htmlgen.cpp.

3423{
3424 DBG_HTML(m_t << "<!-- startMemberDocSimple -->\n";)
3425 m_t << "<table class=\"fieldtable\">\n";
3426 m_t << "<tr><th colspan=\"" << (isEnum?"2":"3") << "\">";
3427 m_t << (isEnum? theTranslator->trEnumerationValues() :
3428 theTranslator->trCompoundMembers()) << "</th></tr>\n";
3429}
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 2581 of file htmlgen.cpp.

2582{
2583}

◆ startMemberGroupDocs()

void HtmlGenerator::startMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2571 of file htmlgen.cpp.

2572{
2573 m_t << "<tr><td colspan=\"2\" class=\"ititle\"><div class=\"groupText\">";
2574}

References OutputGenerator::m_t.

◆ startMemberGroupHeader()

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

Implements OutputGenIntf.

Definition at line 2561 of file htmlgen.cpp.

2562{
2563 m_t << "<tr id=\"" << id << "\" class=\"groupHeader\"><td colspan=\"2\"><div class=\"groupHeader\">";
2564}

References OutputGenerator::m_t.

◆ startMemberHeader()

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

Implements OutputGenIntf.

Definition at line 2196 of file htmlgen.cpp.

2197{
2198 DBG_HTML(m_t << "<!-- startMemberHeader -->\n")
2199 if (!m_emptySection)
2200 {
2201 m_t << "</table>";
2203 }
2204 if (m_emptySection)
2205 {
2206 m_t << "<table class=\"memberdecls\">\n";
2208 }
2209 m_t << "<tr class=\"heading\"><td colspan=\"" << typ << "\"><h2";
2210 if (!anchor.isEmpty())
2211 {
2212 m_t << " id=\"header-" << anchor << "\"";
2213 }
2214 m_t << " class=\"groupheader\">";
2215 if (!anchor.isEmpty())
2216 {
2217 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>\n";
2218 }
2219}

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

2081{
2082 DBG_HTML(m_t << "<!-- startMemberItem() -->\n")
2083 if (m_emptySection)
2084 {
2085 m_t << "<table class=\"memberdecls\">\n";
2087 }
2088 m_t << "<tr class=\"memitem:" << convertToId(anchor);
2089 if (!inheritId.isEmpty())
2090 {
2091 m_t << " inherit " << inheritId;
2092 }
2093 m_t << "\"";
2094 if (!anchor.isEmpty())
2095 {
2096 m_t << " id=\"r_" << convertToId(anchor) << "\"";
2097 }
2098 m_t << ">";
2100}
void insertMemberAlignLeft(MemberItemType, bool) override
Definition htmlgen.cpp:2142

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

2067{
2068 DBG_HTML(m_t << "<!-- startMemberList -->\n")
2069}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberSections()

void HtmlGenerator::startMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2179 of file htmlgen.cpp.

2180{
2181 DBG_HTML(m_t << "<!-- startMemberSections -->\n")
2182 m_emptySection=TRUE; // we postpone writing <table> until we actually
2183 // write a row to prevent empty tables, which
2184 // are not valid XHTML!
2185}

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

◆ startMemberSubtitle()

void HtmlGenerator::startMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2227 of file htmlgen.cpp.

2228{
2229 DBG_HTML(m_t << "<!-- startMemberSubtitle -->\n")
2230 if (m_emptySection)
2231 {
2232 m_t << "<table class=\"memberdecls\">\n";
2234 }
2235 m_t << "<tr><td class=\"ititle\" colspan=\"2\">";
2236}

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

◆ startMemberTemplateParams()

void HtmlGenerator::startMemberTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2111 of file htmlgen.cpp.

2112{
2113}

◆ startPageDoc()

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

Implements OutputGenIntf.

Definition at line 3107 of file htmlgen.cpp.

3108{
3109 m_t << "<div>";
3110}

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

1717{
1718 if (!classDef.isEmpty())
1719 m_t << "\n<p class=\"" << classDef << "\">";
1720 else
1721 m_t << "\n<p>";
1722}

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

◆ startParameterDefVal()

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

Implements OutputGenIntf.

Definition at line 2401 of file htmlgen.cpp.

2402{
2403 m_t << "<span class=\"paramdefsep\">";
2404 docify(s);
2405 m_t << "</span><span class=\"paramdefval\">";
2406}

References docify(), and OutputGenerator::m_t.

◆ startParameterExtra()

void HtmlGenerator::startParameterExtra ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2372 of file htmlgen.cpp.

2373{
2374 DBG_HTML(m_t << "<!-- startParameterExtra -->\n";)
2375}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterList()

void HtmlGenerator::startParameterList ( bool openBracket)
overridevirtual

Implements OutputGenIntf.

Definition at line 2329 of file htmlgen.cpp.

2330{
2331 DBG_HTML(m_t << "<!-- startParameterList -->\n";)
2332 m_t << " <td>";
2333 if (openBracket) m_t << "(";
2334 m_t << "</td>\n";
2335}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterName()

void HtmlGenerator::startParameterName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2360 of file htmlgen.cpp.

2361{
2362 DBG_HTML(m_t << "<!-- startParameterName -->\n";)
2363 m_t << " <td class=\"paramname\"><span class=\"paramname\"><em>";
2364}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterType()

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

Implements OutputGenIntf.

Definition at line 2337 of file htmlgen.cpp.

2338{
2339 if (first)
2340 {
2341 DBG_HTML(m_t << "<!-- startFirstParameterType -->\n";)
2342 m_t << " <td class=\"paramtype\">";
2343 }
2344 else
2345 {
2346 DBG_HTML(m_t << "<!-- startParameterType -->\n";)
2347 m_t << " <tr>\n";
2348 m_t << " <td class=\"paramkey\">" << key << "</td>\n";
2349 m_t << " <td></td>\n";
2350 m_t << " <td class=\"paramtype\">";
2351 }
2352}

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

1621{
1622 m_t << "<h3 class=\"version\">";
1623}

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

1878{
1879 switch(type.level())
1880 {
1881 case SectionType::Page: m_t << "\n\n<h1 class=\"doxsection\">"; break;
1882 case SectionType::Section: m_t << "\n\n<h2 class=\"doxsection\">"; break;
1883 case SectionType::Subsection: m_t << "\n\n<h3 class=\"doxsection\">"; break;
1884 case SectionType::Subsubsection: m_t << "\n\n<h4 class=\"doxsection\">"; break;
1885 case SectionType::Paragraph: m_t << "\n\n<h5 class=\"doxsection\">"; break;
1886 case SectionType::Subparagraph: m_t << "\n\n<h6 class=\"doxsection\">"; break;
1887 case SectionType::Subsubparagraph: m_t << "\n\n<h6 class=\"doxsection\">"; break;
1888 default: ASSERT(0); break;
1889 }
1890 m_t << "<a id=\"" << lab << "\" name=\"" << lab << "\"></a>";
1891}

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

1824{
1825 m_t << "<a href=\"";
1826 QCString fn = f;
1828 m_t << createHtmlUrl(m_relPath,"",true,
1829 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1830 fn,
1831 anchor);
1832 m_t << "\">";
1833}
QCString createHtmlUrl(const QCString &relPath, const QCString &ref, bool href, bool isLocalFile, const QCString &targetFileName, const QCString &anchor)
Definition util.cpp:6233

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

3391{
3392 m_t << " <div class=\"headertitle\">";
3393 startTitle();
3394}
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 3631 of file htmlgen.cpp.

3632{
3633 SectionType type = si->type();
3634 if (type.isSection())
3635 {
3636 //printf(" level=%d title=%s maxLevel=%d\n",level,qPrint(si->title()),maxLevel);
3637 int nextLevel = type.level();
3638 if (nextLevel>m_tocState.level)
3639 {
3640 for (int l=m_tocState.level;l<nextLevel;l++)
3641 {
3642 if (l < m_tocState.maxLevel)
3643 {
3644 m_tocState.incIndent(m_t,"<ul>");
3645 char cs[2] = { static_cast<char>('0'+l+1), 0 };
3646 const char *empty = (l!=nextLevel-1) ? " empty" : "";
3647 m_tocState.incIndent(m_t,"<li class=\"level" + QCString(cs) + empty + "\">");
3648 }
3649 }
3650 }
3651 else if (nextLevel<m_tocState.level)
3652 {
3653 for (int l=m_tocState.level;l>nextLevel;l--)
3654 {
3655 if (l <= m_tocState.maxLevel) m_tocState.decIndent(m_t,"</li>");
3656 m_tocState.inLi[l] = false;
3657 if (l <= m_tocState.maxLevel) m_tocState.decIndent(m_t,"</ul>");
3658 }
3659 }
3660 if (nextLevel <= m_tocState.maxLevel)
3661 {
3662 if (m_tocState.inLi[nextLevel] || m_tocState.level>nextLevel)
3663 {
3664 m_tocState.decIndent(m_t,"</li>");
3665 char cs[2] = { static_cast<char>('0'+nextLevel), 0 };
3666 m_tocState.incIndent(m_t,"<li class=\"level" + QCString(cs) + "\">");
3667 }
3668 QCString label = si->label();
3669 m_tocState.writeIndent(m_t);
3670 m_t << "<a href=\"#"+label+"\">";
3671 }
3672 }
3673}
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 1946 of file htmlgen.cpp.

1947{
1948 char cs[2];
1949 cs[0]=c;
1950 cs[1]=0;
1951 docify(cs);
1952}

References docify().

◆ writeDoc()

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

Implements OutputGenIntf.

Definition at line 2676 of file htmlgen.cpp.

2677{
2678 const DocNodeAST *astImpl = dynamic_cast<const DocNodeAST*>(ast);
2679 if (astImpl)
2680 {
2681 m_codeList->setId(id);
2682 HtmlDocVisitor visitor(m_t,*m_codeList,ctx,fileName());
2683 std::visit(visitor,astImpl->root);
2684 }
2685}
DocNodeVariant root
Definition docnode.h:1491

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

◆ writeExternalSearchPage()

void HtmlGenerator::writeExternalSearchPage ( )
static

Definition at line 3222 of file htmlgen.cpp.

3223{
3224 bool disableIndex = Config_getBool(DISABLE_INDEX);
3225 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3226 bool fullSidebar = Config_getBool(FULL_SIDEBAR);
3227 bool quickLinksAfterSplitbar = !disableIndex && generateTreeView && fullSidebar;
3228 QCString dname = Config_getString(HTML_OUTPUT);
3229 QCString fileName = dname+"/search"+Doxygen::htmlFileExtension;
3230 std::ofstream f = Portable::openOutputStream(fileName);
3231 if (f.is_open())
3232 {
3233 TextStream t(&f);
3235
3236 t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
3237 << getDoxygenVersion() << " -->\n";
3238 t << "<script type=\"text/javascript\">\n";
3239 t << "var searchBox = new SearchBox(\"searchBox\", \""
3240 << "search/\",'" << Doxygen::htmlFileExtension << "');\n";
3241 t << "</script>\n";
3242
3243 if (!disableIndex && !quickLinksAfterSplitbar)
3244 {
3245 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3246 }
3247 if (generateTreeView)
3248 {
3249 t << "</div><!-- top -->\n";
3250 }
3251 t << writeSplitBarAsString("search.php",QCString(),QCString());
3252 if (quickLinksAfterSplitbar)
3253 {
3254 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3255 }
3256
3257 t << "<div class=\"header\">\n";
3258 t << " <div class=\"headertitle\">\n";
3259 t << " <div class=\"title\">" << theTranslator->trSearchResultsTitle() << "</div>\n";
3260 t << " </div>\n";
3261 t << "</div>\n";
3262 t << "<div class=\"contents\">\n";
3263
3264 t << "<div id=\"searchresults\"></div>\n";
3265 t << "</div>\n";
3266
3267 if (generateTreeView)
3268 {
3269 t << "</div><!-- doc-content -->\n";
3270 t << "</div><!-- container -->\n";
3271 }
3272
3273 writePageFooter(t,"Search","","");
3274
3275 }
3276 f.close();
3277
3278 QCString scriptName = dname+"/search/search.js";
3279 f = Portable::openOutputStream(scriptName);
3280 if (f.is_open())
3281 {
3282 TextStream t(&f);
3283 t << "var searchResultsText=["
3284 << "\"" << theTranslator->trSearchResults(0) << "\","
3285 << "\"" << theTranslator->trSearchResults(1) << "\","
3286 << "\"" << theTranslator->trSearchResults(2) << "\"];\n";
3287 t << "var serverUrl=\"" << Config_getString(SEARCHENGINE_URL) << "\";\n";
3288 t << "var tagMap = {\n";
3289 bool first=TRUE;
3290 // add search mappings
3291 const StringVector &extraSearchMappings = Config_getList(EXTRA_SEARCH_MAPPINGS);
3292 for (const auto &ml : extraSearchMappings)
3293 {
3294 QCString mapLine = ml.c_str();
3295 int eqPos = mapLine.find('=');
3296 if (eqPos!=-1) // tag command contains a destination
3297 {
3298 QCString tagName = mapLine.left(eqPos).stripWhiteSpace();
3299 QCString destName = mapLine.right(mapLine.length()-eqPos-1).stripWhiteSpace();
3300 if (!tagName.isEmpty())
3301 {
3302 if (!first) t << ",\n";
3303 t << " \"" << tagName << "\": \"" << destName << "\"";
3304 first=FALSE;
3305 }
3306 }
3307 }
3308 if (!first) t << "\n";
3309 t << "};\n\n";
3310 t << ResourceMgr::instance().getAsString("extsearch.js");
3311 t << "\n";
3312 t << "$(function() {\n";
3313 t << " var query = trim(getURLParameter('query'));\n";
3314 t << " if (query) {\n";
3315 t << " searchFor(query,0,20);\n";
3316 t << " } else {\n";
3317 t << " var results = $('#results');\n";
3318 t << " results.html('<p>" << theTranslator->trSearchResults(0) << "</p>');\n";
3319 t << " }\n";
3320 t << "});\n";
3321 }
3322 else
3323 {
3324 err("Failed to open file '{}' for writing...\n",scriptName);
3325 }
3326}
static void writePageFooter(TextStream &t, const QCString &, const QCString &, const QCString &)
Definition htmlgen.cpp:1604
static QCString writeSplitBarAsString(const QCString &name, const QCString &relpath, const QCString &allMembersFile)
Definition htmlgen.cpp:3052
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:2898
#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 1610 of file htmlgen.cpp.

1611{
1613}

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

◆ writeFooterFile()

void HtmlGenerator::writeFooterFile ( TextStream & t)
static

Definition at line 1494 of file htmlgen.cpp.

1495{
1496 t << "<!-- HTML footer for doxygen " << getDoxygenVersion() << "-->\n";
1497 t << ResourceMgr::instance().getAsString("footer.html");
1498}

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

Referenced by readConfiguration().

◆ writeGraphicalHierarchy()

void HtmlGenerator::writeGraphicalHierarchy ( DotGfxHierarchyTable & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2556 of file htmlgen.cpp.

2557{
2558 g.writeGraph(m_t,dir(),fileName());
2559}
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 1488 of file htmlgen.cpp.

1489{
1490 t << "<!-- HTML header for doxygen " << getDoxygenVersion() << "-->\n";
1491 t << ResourceMgr::instance().getAsString("header.html");
1492}

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

3529{
3530 DBG_HTML(m_t << "<!-- writeInheritedSectionTitle -->\n";)
3531 QCString a = anchor;
3532 if (!a.isEmpty()) a.prepend("#");
3533 QCString classLink = QCString("<a class=\"el\" ");
3534 if (!ref.isEmpty())
3535 {
3536 classLink+= externalLinkTarget();
3537 classLink += " href=\"";
3538 classLink+= externalRef(m_relPath,ref,TRUE);
3539 }
3540 else
3541 {
3542 classLink += "href=\"";
3543 classLink+=m_relPath;
3544 }
3545 QCString fn = file;
3547 classLink=classLink+fn+a;
3548 classLink+=QCString("\">")+convertToHtml(name,FALSE)+"</a>";
3549 m_t << "<tr class=\"inherit_header " << id << "\">"
3550 << "<td colspan=\"2\" onclick=\"javascript:dynsection.toggleInherit('" << id << "')\">"
3551 << "<span class=\"dynarrow\"><span class=\"arrowhead closed\"></span></span>"
3552 << theTranslator->trInheritedFrom(convertToHtml(title,FALSE),classLink)
3553 << "</td></tr>\n";
3554}
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 3479 of file htmlgen.cpp.

3480{
3481 DBG_HTML(m_t << "<!-- writeLabel(" << label << ") -->\n";)
3482
3483 auto convertLabelToClass = [](const std::string &lab) {
3484 QCString input = convertUTF8ToLower(lab);
3485 QCString result;
3486 size_t l=input.length();
3487 result.reserve(l);
3488
3489 // Create valid class selector, see 10.2 here https://www.w3.org/TR/selectors-3/#w3cselgrammar
3490 // ident [-]?{nmstart}{nmchar}*
3491 // nmstart [_a-z]|{nonascii}
3492 // nonascii [^\0-\177]
3493 // nmchar [_a-z0-9-]|{nonascii}
3494
3495 bool nmstart=false;
3496 for (size_t i=0; i<l; i++)
3497 {
3498 char c = input.at(i);
3499 if (c<0 || (c>='a' && c<='z') || c=='_') // nmstart pattern
3500 {
3501 nmstart=true;
3502 result+=c;
3503 }
3504 else if (nmstart && (c<0 || (c>='a' && c<='z') || (c>='0' && c<='9') || c=='_')) // nmchar pattern
3505 {
3506 result+=c;
3507 }
3508 else if (nmstart && (c==' ' || c=='-')) // show whitespace as -
3509 {
3510 result+='-';
3511 }
3512 }
3513 return result;
3514 };
3515
3516 m_t << "<span class=\"mlabel " << convertLabelToClass(label.stripWhiteSpace().str()) << "\">" << label << "</span>";
3517}
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 1599 of file htmlgen.cpp.

1600{
1602}
static QCString writeLogoAsString(const QCString &path)
Definition htmlgen.cpp:1577

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

◆ writeLogoAsString()

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

Definition at line 1577 of file htmlgen.cpp.

1578{
1579 QCString result;
1580 switch (Config_getEnum(TIMESTAMP))
1581 {
1582 case TIMESTAMP_t::NO:
1583 result = theTranslator->trGeneratedBy();
1584 break;
1585 default:
1586 result = theTranslator->trGeneratedAt("<span class=\"timestamp\"></span>",
1587 convertToHtml(Config_getString(PROJECT_NAME)));
1588 break;
1589 }
1590 result += "&#160;\n<a href=\"https://www.doxygen.org/index.html\">\n"
1591 "<img class=\"footer\" src=\"";
1592 result += path;
1593 result += "doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> ";
1594 result += getDoxygenVersion();
1595 result += " ";
1596 return result;
1597}
virtual QCString trGeneratedAt(const QCString &date, const QCString &projName)=0

References Config_getEnum, Config_getString, convertToHtml(), and theTranslator.

Referenced by writeLogo(), and writeSearchPage().

◆ writeNavigationPath()

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

Implements OutputGenIntf.

Definition at line 3092 of file htmlgen.cpp.

3093{
3094 m_t << substitute(s,"$relpath^",m_relPath);
3095}

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

◆ writeNonBreakableSpace()

void HtmlGenerator::writeNonBreakableSpace ( int n)
overridevirtual

Implements OutputGenIntf.

Definition at line 2606 of file htmlgen.cpp.

2607{
2608 for (int i=0; i<n; i++)
2609 {
2610 m_t << "&#160;";
2611 }
2612}

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

1801{
1802 if (!ref.isEmpty())
1803 {
1804 m_t << "<a class=\"elRef\" ";
1806 }
1807 else
1808 {
1809 m_t << "<a class=\"el\" ";
1810 }
1811 m_t << "href=\"";
1812 QCString fn = f;
1814 m_t << createHtmlUrl(m_relPath,ref,true,
1815 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1816 fn,
1817 anchor);
1818 m_t << "\">";
1819 docify(name);
1820 m_t << "</a>";
1821}

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

1606{
1607 t << substituteHtmlKeywords(g_footer_file,g_footer,convertToHtml(lastTitle),relPath,navPath);
1608}

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

3584{
3585 m_t << "<div id=\"page-nav\" class=\"page-nav-panel\">\n";
3586 m_t << "<div id=\"page-nav-resize-handle\"></div>\n";
3587 m_t << "<div id=\"page-nav-tree\">\n";
3588 m_t << "<div id=\"page-nav-contents\">\n";
3589 m_t << "</div><!-- page-nav-contents -->\n";
3590 m_t << "</div><!-- page-nav-tree -->\n";
3591 m_t << "</div><!-- page-nav -->\n";
3592}

References OutputGenerator::m_t.

◆ writeQuickLinks()

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

Implements OutputGenIntf.

Definition at line 3117 of file htmlgen.cpp.

3118{
3119 writeDefaultQuickLinks(m_t,hli,file,m_relPath,extraTabs);
3120}

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

1321{
1322 //bool serverBasedSearch = Config_getBool(SERVER_BASED_SEARCH);
1323 //writeImgData(dname,serverBasedSearch ? search_server_data : search_client_data);
1324 ResourceMgr &mgr = ResourceMgr::instance();
1325
1326 QCString searchDirName = dname;
1327 std::ofstream f = Portable::openOutputStream(searchDirName+"/search.css");
1328 if (f.is_open())
1329 {
1330 TextStream t(&f);
1331 QCString searchCss;
1332 // the position of the search box depends on a number of settings.
1333 // Insert the right piece of CSS code depending on which options are selected
1334 if (Config_getBool(GENERATE_TREEVIEW) && Config_getBool(FULL_SIDEBAR))
1335 {
1336 searchCss = mgr.getAsString("search_sidebar.css"); // we have a full height side bar
1337 }
1338 else if (Config_getBool(DISABLE_INDEX))
1339 {
1340 if (Config_getBool(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE)
1341 {
1342 searchCss = mgr.getAsString("search_nomenu_toggle.css"); // we have no tabs but do have a darkmode button
1343 }
1344 else
1345 {
1346 searchCss = mgr.getAsString("search_nomenu.css"); // we have no tabs and no darkmode button
1347 }
1348 }
1349 else if (!Config_getBool(HTML_DYNAMIC_MENUS))
1350 {
1351 searchCss = mgr.getAsString("search_fixedtabs.css"); // we have tabs, but they are static
1352 }
1353 else
1354 {
1355 searchCss = mgr.getAsString("search.css"); // default case with a dynamic menu bar
1356 }
1357 // and then add the option independent part of the styling
1358 searchCss += mgr.getAsString("search_common.css");
1359 searchCss = substitute(searchCss,"$doxygenversion",getDoxygenVersion());
1360 t << replaceVariables(searchCss);
1361 Doxygen::indexList->addStyleSheetFile("search/search.css");
1362 }
1363}
void addStyleSheetFile(const QCString &name)
Definition indexlist.h:130

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

1572{
1574}
static void writeSearchInfoStatic(TextStream &t, const QCString &relPath)
Definition htmlgen.cpp:1541

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

◆ writeSearchInfoStatic()

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

Definition at line 1541 of file htmlgen.cpp.

1542{
1543 bool searchEngine = Config_getBool(SEARCHENGINE);
1544 bool serverBasedSearch = Config_getBool(SERVER_BASED_SEARCH);
1545 if (searchEngine && !serverBasedSearch)
1546 {
1547 t << "<!-- window showing the filter options -->\n";
1548 t << "<div id=\"MSearchSelectWindow\"\n";
1549 t << " onmouseover=\"return searchBox.OnSearchSelectShow()\"\n";
1550 t << " onmouseout=\"return searchBox.OnSearchSelectHide()\"\n";
1551 t << " onkeydown=\"return searchBox.OnSearchSelectKey(event)\">\n";
1552 t << "</div>\n";
1553 t << "\n";
1554 t << "<!-- iframe showing the search results (closed by default) -->\n";
1555 t << "<div id=\"MSearchResultsWindow\">\n";
1556 t << "<div id=\"MSearchResults\">\n";
1557 t << "<div class=\"SRPage\">\n";
1558 t << "<div id=\"SRIndex\">\n";
1559 t << "<div id=\"SRResults\"></div>\n"; // here the results will be inserted
1560 t << "<div class=\"SRStatus\" id=\"Loading\">" << theTranslator->trLoading() << "</div>\n";
1561 t << "<div class=\"SRStatus\" id=\"Searching\">" << theTranslator->trSearching() << "</div>\n";
1562 t << "<div class=\"SRStatus\" id=\"NoMatches\">" << theTranslator->trNoMatches() << "</div>\n";
1563 t << "</div>\n"; // SRIndex
1564 t << "</div>\n"; // SRPage
1565 t << "</div>\n"; // MSearchResults
1566 t << "</div>\n"; // MSearchResultsWindow
1567 t << "\n";
1568 }
1569}
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 3123 of file htmlgen.cpp.

3124{
3125 bool disableIndex = Config_getBool(DISABLE_INDEX);
3126 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3127 bool fullSidebar = Config_getBool(FULL_SIDEBAR);
3128 bool quickLinksAfterSplitbar = !disableIndex && generateTreeView && fullSidebar;
3129 QCString projectName = Config_getString(PROJECT_NAME);
3130 QCString htmlOutput = Config_getString(HTML_OUTPUT);
3131
3132 // OPENSEARCH_PROVIDER {
3133 QCString configFileName = htmlOutput+"/search_config.php";
3134 std::ofstream f = Portable::openOutputStream(configFileName);
3135 if (f.is_open())
3136 {
3137 TextStream t(&f);
3138 t << "<?php\n\n";
3139 t << "$config = array(\n";
3140 t << " 'PROJECT_NAME' => \"" << convertToHtml(projectName) << "\",\n";
3141 t << " 'GENERATE_TREEVIEW' => " << (generateTreeView?"true":"false") << ",\n";
3142 t << " 'DISABLE_INDEX' => " << (disableIndex?"true":"false") << ",\n";
3143 t << " 'FULL_SIDEBAR' => " << (fullSidebar?"true":"false") << ",\n";
3144 t << ");\n\n";
3145 t << "$translator = array(\n";
3146 t << " 'search_results_title' => \"" << theTranslator->trSearchResultsTitle() << "\",\n";
3147 t << " 'search_results' => array(\n";
3148 t << " 0 => \"" << theTranslator->trSearchResults(0) << "\",\n";
3149 t << " 1 => \"" << theTranslator->trSearchResults(1) << "\",\n";
3150 t << " 2 => \"" << substitute(theTranslator->trSearchResults(2), "$", "\\$") << "\",\n";
3151 t << " ),\n";
3152 t << " 'search_matches' => \"" << theTranslator->trSearchMatches() << "\",\n";
3153 t << " 'search' => \"" << theTranslator->trSearch() << "\",\n";
3154 t << " 'logo' => \"" << substitute(substitute(writeLogoAsString(""), "\"","\\\""), "\n","\\n") << "\",\n";
3155 t << ");\n\n";
3156 t << "?>\n";
3157 }
3158 f.close();
3159
3160 ResourceMgr::instance().copyResource("search_functions.php",htmlOutput);
3161 ResourceMgr::instance().copyResource("search_opensearch.php",htmlOutput);
3162 // OPENSEARCH_PROVIDER }
3163
3164 QCString fileName = htmlOutput+"/search.php";
3166 if (f.is_open())
3167 {
3168 TextStream t(&f);
3170
3171 t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
3172 << getDoxygenVersion() << " -->\n";
3173 t << "<script type=\"text/javascript\">\n";
3174 t << "var searchBox = new SearchBox(\"searchBox\", \""
3175 << "search/\",'" << Doxygen::htmlFileExtension << "');\n";
3176 t << "</script>\n";
3177
3178 if (!disableIndex && !quickLinksAfterSplitbar)
3179 {
3180 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3181 }
3182 if (generateTreeView)
3183 {
3184 t << "</div><!-- top -->\n";
3185 }
3186 t << writeSplitBarAsString("search.php",QCString(),QCString());
3187 if (quickLinksAfterSplitbar)
3188 {
3189 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3190 }
3191 t << "<!-- generated -->\n";
3192
3193 t << "<?php\n";
3194 t << "require_once \"search_functions.php\";\n";
3195 t << "main();\n";
3196 t << "?>\n";
3197
3198 // Write empty navigation path, to make footer connect properly
3199 if (generateTreeView)
3200 {
3201 t << "</div><!-- doc-content -->\n";
3202 t << "</div><!-- container -->\n";
3203 }
3204
3205 writePageFooter(t,"Search","","");
3206 }
3207 f.close();
3208
3209 QCString scriptName = htmlOutput+"/search/search.js";
3210 f = Portable::openOutputStream(scriptName);
3211 if (f.is_open())
3212 {
3213 TextStream t(&f);
3214 t << ResourceMgr::instance().getAsString("extsearch.js");
3215 }
3216 else
3217 {
3218 err("Failed to open file '{}' for writing...\n",scriptName);
3219 }
3220}
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 3087 of file htmlgen.cpp.

3088{
3089 m_t << writeSplitBarAsString(name,m_relPath,allMembersFile);
3090}

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

3053{
3054 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3055 QCString result;
3056 // write split bar
3057 if (generateTreeView)
3058 {
3059 QCString fn = name;
3061 if (!Config_getBool(FULL_SIDEBAR))
3062 {
3063 result += QCString(
3064 "<div id=\"side-nav\" class=\"ui-resizable side-nav-resizable\">\n");
3065 }
3066 result+=
3067 " <div id=\"nav-tree\">\n"
3068 " <div id=\"nav-tree-contents\">\n"
3069 " <div id=\"nav-sync\" class=\"sync\"></div>\n"
3070 " </div>\n"
3071 " </div>\n"
3072 " <div id=\"splitbar\" style=\"-moz-user-select:none;\" \n"
3073 " class=\"ui-resizable-handle\">\n"
3074 " </div>\n"
3075 "</div>\n"
3076 "<script type=\"text/javascript\">\n"
3077 "$(function(){initNavTree('" + fn + "','" + relpath + "','" + allMembersFile + "'); });\n"
3078 "</script>\n";
3079 if (Config_getBool(DISABLE_INDEX) || !Config_getBool(FULL_SIDEBAR))
3080 {
3081 result+="<div id=\"container\">\n<div id=\"doc-content\">\n";
3082 }
3083 }
3084 return result;
3085}

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

1789{
1790 m_t << "<li>";
1791 if (!path.isEmpty()) docify(path);
1792 QCString fn = f;
1794 m_t << "<a class=\"el\" href=\"" << fn << "\">";
1795 docify(name);
1796 m_t << "</a> ";
1797}

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

◆ writeString()

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

Implements OutputGenIntf.

Definition at line 1729 of file htmlgen.cpp.

1730{
1731 m_t << text;
1732}

References OutputGenerator::m_t.

◆ writeStyleInfo()

void HtmlGenerator::writeStyleInfo ( int part)
overridevirtual

Implements OutputGenIntf.

Definition at line 1630 of file htmlgen.cpp.

1631{
1632 //printf("writeStyleInfo(%d)\n",part);
1633 if (part==0)
1634 {
1635 if (Config_getString(HTML_STYLESHEET).isEmpty()) // write default style sheet
1636 {
1637 //printf("write doxygen.css\n");
1638 startPlainFile("doxygen.css");
1640 endPlainFile();
1641 Doxygen::indexList->addStyleSheetFile("doxygen.css");
1642 }
1643 else // write user defined style sheet
1644 {
1645 QCString cssName=Config_getString(HTML_STYLESHEET);
1646 if (!cssName.startsWith("http:") && !cssName.startsWith("https:"))
1647 {
1648 FileInfo cssfi(cssName.str());
1649 if (!cssfi.exists() || !cssfi.isFile() || !cssfi.isReadable())
1650 {
1651 err("style sheet {} does not exist or is not readable!\n", Config_getString(HTML_STYLESHEET));
1652 }
1653 else
1654 {
1655 // convert style sheet to string
1656 QCString fileStr = fileToString(cssName);
1657 // write the string into the output dir
1658 startPlainFile(cssfi.fileName().c_str());
1659 m_t << fileStr;
1660 endPlainFile();
1661 }
1662 Doxygen::indexList->addStyleSheetFile(cssfi.fileName().c_str());
1663 }
1664 }
1665 const StringVector &extraCssFiles = Config_getList(HTML_EXTRA_STYLESHEET);
1666 for (const auto &fileName : extraCssFiles)
1667 {
1668 if (!fileName.empty())
1669 {
1670 FileInfo fi(fileName);
1671 if (fi.exists())
1672 {
1673 Doxygen::indexList->addStyleSheetFile(fi.fileName().c_str());
1674 }
1675 }
1676 }
1677
1679 Doxygen::indexList->addStyleSheetFile("navtree.css");
1680
1681 Doxygen::indexList->addStyleSheetFile("dynsections.js");
1682
1683 if (Config_getEnum(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE)
1684 {
1685 Doxygen::indexList->addStyleSheetFile("darkmode_toggle.js");
1686 }
1687
1688 if (Config_getBool(INTERACTIVE_SVG))
1689 {
1691 }
1692
1693 if (!Config_getBool(DISABLE_INDEX) && Config_getBool(HTML_DYNAMIC_MENUS))
1694 {
1696 Doxygen::indexList->addStyleSheetFile("menudata.js");
1697 }
1698 }
1699}
bool startsWith(const char *s) const
Definition qcstring.h:492
static void writeDefaultStyleSheet(TextStream &t)
Definition htmlgen.cpp:1365

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

1483{
1486}

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

3557{
3558 if (first)
3559 {
3560 m_t << " <div class=\"summary\">\n";
3561 }
3562 else
3563 {
3564 m_t << " &#124;\n";
3565 }
3566 m_t << "<a href=\"";
3567 if (!file.isEmpty())
3568 {
3569 QCString fn = file;
3571 m_t << m_relPath << fn;
3572 }
3573 else if (!anchor.isEmpty())
3574 {
3575 m_t << "#";
3576 m_t << anchor;
3577 }
3578 m_t << "\">";
3579 m_t << title;
3580 m_t << "</a>";
3581}

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

1312{
1314 QCString dname=Config_getString(HTML_OUTPUT);
1315 ResourceMgr &mgr = ResourceMgr::instance();
1316 mgr.copyResource("doxygen.svg",dname);
1317 Doxygen::indexList->addImageFile("doxygen.svg");
1318}
void addImageFile(const QCString &name)
Definition indexlist.h:127

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

◆ 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: