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

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

1155 : OutputGenerator(og.m_dir), OutputGenIntf()
1156{
1157 //printf("%p:HtmlGenerator(copy %p)\n",(void*)this,(void*)&og);
1158 m_codeList = std::make_unique<OutputCodeList>(*og.m_codeList);
1159 m_codeGen = m_codeList->get<HtmlCodeGenerator>(OutputType::Html);
1160 m_codeGen->setTextStream(&m_t);
1163 m_relPath = og.m_relPath;
1166}
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 1188 of file htmlgen.cpp.

1189{
1191}
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 2648 of file htmlgen.cpp.

2649{
2650}

◆ addLabel()

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

Implements OutputGenIntf.

Definition at line 1754 of file htmlgen.cpp.

1755{
1756}

◆ cleanup()

void HtmlGenerator::cleanup ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1345 of file htmlgen.cpp.

1346{
1347 QCString dname = Config_getString(HTML_OUTPUT);
1348 Dir d(dname.str());
1349 clearSubDirs(d);
1350}
const std::string & str() const
Definition qcstring.h:552
void clearSubDirs(const Dir &d)
Definition util.cpp:4183

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

◆ clearBuffer()

void HtmlGenerator::clearBuffer ( )

◆ clone()

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

Implements OutputGenIntf.

Definition at line 123 of file htmlgen.h.

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

◆ docify()

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

Implements OutputGenIntf.

Definition at line 1950 of file htmlgen.cpp.

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

1956{
1957 if (!str.isEmpty())
1958 {
1959 const char *p=str.data();
1960 while (*p)
1961 {
1962 char c=*p++;
1963 switch(c)
1964 {
1965 case '<': m_t << "&lt;"; break;
1966 case '>': m_t << "&gt;"; break;
1967 case '&': m_t << "&amp;"; break;
1968 case '"': m_t << "&quot;"; break;
1969 case '-': if (inHtmlComment) m_t << "&#45;"; else m_t << "-"; break;
1970 case '\\':
1971 if (*p=='<')
1972 { m_t << "&lt;"; p++; }
1973 else if (*p=='>')
1974 { m_t << "&gt;"; p++; }
1975 else if (*p=='[')
1976 { m_t << "\\&zwj;["; p++; }
1977 else if (*p==']')
1978 { m_t << "\\&zwj;]"; p++; }
1979 else if (*p=='(')
1980 { m_t << "\\&zwj;("; p++; }
1981 else if (*p==')')
1982 { m_t << "\\&zwj;)"; p++; }
1983 else
1984 m_t << "\\";
1985 break;
1986 default: m_t << c;
1987 }
1988 }
1989 }
1990}

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

2572{
2577
2579
2582}
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:2049
static void startSectionSummary(TextStream &t, int sectionCount)
Definition htmlgen.cpp:2027
static void endSectionContent(TextStream &t)
Definition htmlgen.cpp:2065
static void endSectionHeader(TextStream &t)
Definition htmlgen.cpp:2021
static void endSectionSummary(TextStream &t)
Definition htmlgen.cpp:2039
#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 2078 of file htmlgen.cpp.

2080{
2085 TextStream tt;
2087 if (!tt.empty())
2088 {
2089 m_t << " <div class=\"center\">\n";
2090 m_t << " <img src=\"";
2091 m_t << m_relPath << fileName << ".png\" usemap=\"#" << convertToId(name);
2092 m_t << "_map\" alt=\"\"/>\n";
2093 m_t << " <map id=\"" << convertToId(name);
2094 m_t << "_map\" name=\"" << convertToId(name);
2095 m_t << "_map\">\n";
2096 m_t << tt.str();
2097 m_t << " </map>\n";
2098 m_t << "</div>";
2099 }
2100 else
2101 {
2102 m_t << " <div class=\"center\">\n";
2103 m_t << " <img src=\"";
2104 m_t << m_relPath << fileName << ".png\" alt=\"\"/>\n";
2105 m_t << " </div>";
2106 }
2109}
void writeImage(TextStream &t, const QCString &path, const QCString &relPath, const QCString &file, bool generateMap=true) const
Definition diagram.cpp:1369
bool empty() const
Returns true iff the buffer is empty.
Definition textstream.h:253
std::string str() const
Return the contents of the buffer as a std::string object.
Definition textstream.h:229
QCString convertToId(const QCString &s)
Definition util.cpp:4388

References convertToId(), OutputGenerator::dir(), TextStream::empty(), endSectionContent(), endSectionHeader(), endSectionSummary(), OutputGenerator::fileName(), m_relPath, m_sectionCount, OutputGenerator::m_t, startSectionContent(), startSectionSummary(), TextStream::str(), and ClassDiagram::writeImage().

◆ endCompoundTemplateParams()

void HtmlGenerator::endCompoundTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2177 of file htmlgen.cpp.

2178{
2179 m_t << "</div>";
2180}

References OutputGenerator::m_t.

◆ endConstraintDocs()

void HtmlGenerator::endConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3406 of file htmlgen.cpp.

3407{
3408 m_t << "</td></tr>\n";
3409}

References OutputGenerator::m_t.

◆ endConstraintList()

void HtmlGenerator::endConstraintList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3411 of file htmlgen.cpp.

3412{
3413 m_t << "</table>\n";
3414 m_t << "</dd>\n";
3415 m_t << "</dl>\n";
3416 m_t << "</div>\n";
3417}

References OutputGenerator::m_t.

◆ endConstraintParam()

void HtmlGenerator::endConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3386 of file htmlgen.cpp.

3387{
3388 m_t << "</em></td>";
3389}

References OutputGenerator::m_t.

◆ endConstraintType()

void HtmlGenerator::endConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3396 of file htmlgen.cpp.

3397{
3398 m_t << "</em></td>";
3399}

References OutputGenerator::m_t.

◆ endContents()

void HtmlGenerator::endContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3148 of file htmlgen.cpp.

3149{
3150 m_t << "</div><!-- contents -->\n";
3151}

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

2666{
2667 m_t << "</table>\n";
2668}

References OutputGenerator::m_t.

◆ endDescTableData()

void HtmlGenerator::endDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2705 of file htmlgen.cpp.

2706{
2707 m_t << "</td>";
2708}

References OutputGenerator::m_t.

◆ endDescTableInit()

void HtmlGenerator::endDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2695 of file htmlgen.cpp.

2696{
2697 m_t << "&#160;</td>";
2698}

References OutputGenerator::m_t.

◆ endDescTableRow()

void HtmlGenerator::endDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2675 of file htmlgen.cpp.

2676{
2677 m_t << "</tr>\n";
2678}

References OutputGenerator::m_t.

◆ endDescTableTitle()

void HtmlGenerator::endDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2685 of file htmlgen.cpp.

2686{
2687 m_t << "&#160;</td>";
2688}

References OutputGenerator::m_t.

◆ endDirDepGraph()

void HtmlGenerator::endDirDepGraph ( DotDirDeps & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2589 of file htmlgen.cpp.

2590{
2595
2597
2600}
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 2501 of file htmlgen.cpp.

2502{
2503 bool generateLegend = Config_getBool(GENERATE_LEGEND);
2504 bool umlLook = Config_getBool(UML_LOOK);
2509
2511 if (generateLegend && !umlLook)
2512 {
2513 QCString url = m_relPath+"graph_legend"+Doxygen::htmlFileExtension;
2514 m_t << "<center><span class=\"legend\">[";
2515 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
2516 m_t << "<a ";
2517 if (generateTreeView) m_t << "target=\"top\" ";
2518 m_t << "href=\"";
2519 if (!url.isEmpty()) m_t << url;
2520 m_t << "\">";
2522 m_t << "</a>";
2523 m_t << "]</span></center>";
2524 }
2525
2528}
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool TBRank=TRUE, bool imageMap=TRUE, int graphId=-1)
static QCString htmlFileExtension
Definition doxygen.h:122
bool isEmpty() const
Returns TRUE iff the string is empty.
Definition qcstring.h:163
virtual QCString trLegend()=0
#define Config_getBool(name)
Definition config.h:33
Translator * theTranslator
Definition language.cpp:71

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

◆ endDoxyAnchor()

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

Implements OutputGenIntf.

Definition at line 1750 of file htmlgen.cpp.

1751{
1752}

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

2718{
2719 m_t << "</dl>\n";
2720}

References OutputGenerator::m_t.

◆ endFile()

void HtmlGenerator::endFile ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1657 of file htmlgen.cpp.

1658{
1659 endPlainFile();
1660}
void endPlainFile() override
Definition htmlgen.h:335

References endPlainFile().

◆ endGroupCollaboration()

void HtmlGenerator::endGroupCollaboration ( DotGroupCollaboration & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2553 of file htmlgen.cpp.

2554{
2559
2561
2564}
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 1903 of file htmlgen.cpp.

1904{
1905 if (extraIndentLevel==2)
1906 {
1907 m_t << "</h4>\n";
1908 }
1909 else if (extraIndentLevel==1)
1910 {
1911 m_t << "</h3>\n";
1912 }
1913 else
1914 {
1915 m_t << "</h2>\n";
1916 }
1917}

References OutputGenerator::m_t.

◆ endHeaderSection()

void HtmlGenerator::endHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3448 of file htmlgen.cpp.

3449{
3450 m_t << "</div><!--header-->\n";
3451}

References OutputGenerator::m_t.

◆ endInclDepGraph()

void HtmlGenerator::endInclDepGraph ( DotInclDepGraph & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2535 of file htmlgen.cpp.

2536{
2541
2543
2546}
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 2642 of file htmlgen.cpp.

2643{
2644 DBG_HTML(m_t << "<!-- endIndent -->\n";)
2645 m_t << "\n</div>\n" << "</div>\n";
2646}
#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 1816 of file htmlgen.cpp.

1817{
1818 //printf("HtmlGenerator::endIndexItem(%s,%s,%s)\n",ref,f,name);
1819 if (!ref.isEmpty() || !f.isEmpty())
1820 {
1821 m_t << "</a>";
1822 }
1823 else
1824 {
1825 m_t << "</b>";
1826 }
1827}

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

◆ endIndexKey()

void HtmlGenerator::endIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2305 of file htmlgen.cpp.

2306{
2307 //m_t << "</td>";
2308}

◆ endIndexList()

void HtmlGenerator::endIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2295 of file htmlgen.cpp.

2296{
2297 m_t << "</table>\n";
2298}

References OutputGenerator::m_t.

◆ endIndexListItem()

void HtmlGenerator::endIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1781 of file htmlgen.cpp.

1782{
1783 m_t << "</li>\n";
1784}

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

2316{
2317 //m_t << "</td></tr>\n";
2318}

◆ endInlineHeader()

void HtmlGenerator::endInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3463 of file htmlgen.cpp.

3464{
3465 m_t << "</h3></td></tr>\n";
3466}

References OutputGenerator::m_t.

◆ endInlineMemberDoc()

void HtmlGenerator::endInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3513 of file htmlgen.cpp.

3514{
3515 DBG_HTML(m_t << "<!-- endInlineMemberDoc -->\n";)
3516 m_t << "</td></tr>\n";
3517}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberName()

void HtmlGenerator::endInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3501 of file htmlgen.cpp.

3502{
3503 DBG_HTML(m_t << "<!-- endInlineMemberName -->\n";)
3504 m_t << "</td>\n";
3505}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberType()

void HtmlGenerator::endInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3489 of file htmlgen.cpp.

3490{
3491 DBG_HTML(m_t << "<!-- endInlineMemberType -->\n";)
3492 m_t << "</td>\n";
3493}

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

3566{
3567 DBG_HTML(m_t << "<!-- endLabels -->\n";)
3568 m_t << "</span>";
3569}

References DBG_HTML, and OutputGenerator::m_t.

◆ endLocalToc()

void HtmlGenerator::endLocalToc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3665 of file htmlgen.cpp.

3666{
3667 if (m_tocState.level > m_tocState.maxLevel) m_tocState.level = m_tocState.maxLevel;
3668 while (m_tocState.level>0)
3669 {
3670 m_tocState.decIndent(m_t,"</li>");
3671 m_tocState.decIndent(m_t,"</ul>");
3672 m_tocState.level--;
3673 }
3674 m_t << "</div>\n";
3675}
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 3640 of file htmlgen.cpp.

3641{
3642}

◆ endMemberDescription()

void HtmlGenerator::endMemberDescription ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2219 of file htmlgen.cpp.

2220{
2221 DBG_HTML(m_t << "<!-- endMemberDescription -->\n")
2222 m_t << "<br /></td></tr>\n";
2223}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDoc()

void HtmlGenerator::endMemberDoc ( bool hasArgs)
overridevirtual

Implements OutputGenIntf.

Definition at line 2485 of file htmlgen.cpp.

2486{
2487 DBG_HTML(m_t << "<!-- endMemberDoc -->\n";)
2488 if (!hasArgs)
2489 {
2490 m_t << " </tr>\n";
2491 }
2492 m_t << " </table>\n";
2493 // m_t << "</div>\n";
2494}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocList()

void HtmlGenerator::endMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2325 of file htmlgen.cpp.

2326{
2327 DBG_HTML(m_t << "<!-- endMemberDocList -->\n";)
2328}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocName()

void HtmlGenerator::endMemberDocName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2369 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocPrefixItem()

void HtmlGenerator::endMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2353 of file htmlgen.cpp.

2354{
2355 DBG_HTML(m_t << "<!-- endMemberDocPrefixItem -->\n";)
2356 m_t << "</div>\n";
2357}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocSimple()

void HtmlGenerator::endMemberDocSimple ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 3477 of file htmlgen.cpp.

3478{
3479 DBG_HTML(m_t << "<!-- endMemberDocSimple -->\n";)
3480 m_t << "</table>\n";
3481}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberGroup()

void HtmlGenerator::endMemberGroup ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2631 of file htmlgen.cpp.

2632{
2633}

◆ endMemberGroupDocs()

void HtmlGenerator::endMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2622 of file htmlgen.cpp.

2623{
2624 m_t << "</div></td></tr>\n";
2625}

References OutputGenerator::m_t.

◆ endMemberGroupHeader()

void HtmlGenerator::endMemberGroupHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2612 of file htmlgen.cpp.

2613{
2614 m_t << "</div></td></tr>\n";
2615}

References OutputGenerator::m_t.

◆ endMemberHeader()

void HtmlGenerator::endMemberHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2267 of file htmlgen.cpp.

2268{
2269 DBG_HTML(m_t << "<!-- endMemberHeader -->\n")
2270 m_t << "</h2></td></tr>\n";
2271}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberItem()

void HtmlGenerator::endMemberItem ( MemberItemType type)
overridevirtual

Implements OutputGenIntf.

Definition at line 2148 of file htmlgen.cpp.

2149{
2151 {
2152 insertMemberAlign(false);
2153 }
2154 m_t << "</td></tr>\n";
2155}
OutputType type() const override
Definition htmlgen.h:122
void insertMemberAlign(bool) override
Definition htmlgen.cpp:2182

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

◆ endMemberList()

void HtmlGenerator::endMemberList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2117 of file htmlgen.cpp.

2118{
2119 DBG_HTML(m_t << "<!-- endMemberList -->\n")
2120}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberSections()

void HtmlGenerator::endMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2233 of file htmlgen.cpp.

2234{
2235 DBG_HTML(m_t << "<!-- endMemberSections -->\n")
2236 if (!m_emptySection)
2237 {
2238 m_t << "</table>\n";
2239 }
2240}

References DBG_HTML, m_emptySection, and OutputGenerator::m_t.

◆ endMemberSubtitle()

void HtmlGenerator::endMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2284 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberTemplateParams()

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

Implements OutputGenIntf.

Definition at line 2161 of file htmlgen.cpp.

2162{
2163 m_t << "</td></tr>\n";
2164 m_t << "<tr class=\"memitem:" << convertToId(anchor);
2165 if (!inheritId.isEmpty())
2166 {
2167 m_t << " inherit " << inheritId;
2168 }
2169 m_t << " template\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">";
2170}

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

◆ endPageDoc()

void HtmlGenerator::endPageDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3158 of file htmlgen.cpp.

3159{
3160 m_t << "</div><!-- PageDoc -->\n";
3161}

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

1767{
1768 m_t << "</p>\n";
1769}

References OutputGenerator::m_t.

◆ endParameterDefVal()

void HtmlGenerator::endParameterDefVal ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2454 of file htmlgen.cpp.

2455{
2456 m_t << "</span>";
2457}

References OutputGenerator::m_t.

◆ endParameterExtra()

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

Implements OutputGenIntf.

Definition at line 2423 of file htmlgen.cpp.

2424{
2425 DBG_HTML(m_t << "<!-- endParameterExtra -->\n";)
2426 if (last)
2427 {
2428 if (emptyList)
2429 {
2430 if (closeBracket) m_t << "</td><td>)";
2431 m_t << "</td>\n";
2432 m_t << " <td>";
2433 }
2434 else
2435 {
2436 m_t << "&#160;";
2437 if (closeBracket) m_t << ")";
2438 }
2439 }
2440 else
2441 {
2442 m_t << "</td>\n";
2443 m_t << " </tr>\n";
2444 }
2445}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterList()

void HtmlGenerator::endParameterList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2459 of file htmlgen.cpp.

2460{
2461 DBG_HTML(m_t << "<!-- endParameterList -->\n";)
2462 m_t << "</td>\n";
2463 m_t << " </tr>\n";
2464}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterName()

void HtmlGenerator::endParameterName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2412 of file htmlgen.cpp.

2413{
2414 DBG_HTML(m_t << "<!-- endParameterName -->\n";)
2415 m_t << "</em></span>";
2416}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterType()

void HtmlGenerator::endParameterType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2400 of file htmlgen.cpp.

2401{
2402 DBG_HTML(m_t << "<!-- endParameterType -->\n";)
2403 m_t << "</td>";
2404}

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

1668{
1669 m_t << "</h3>";
1670}

References OutputGenerator::m_t.

◆ endQuickIndices()

void HtmlGenerator::endQuickIndices ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3088 of file htmlgen.cpp.

3089{
3090 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3091 m_t << "</div><!-- top -->\n";
3092 if (!generateTreeView)
3093 {
3094 m_t << "<div id=\"doc-content\">\n";
3095 }
3096}

References Config_getBool, and OutputGenerator::m_t.

◆ endSection()

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

Implements OutputGenIntf.

Definition at line 1935 of file htmlgen.cpp.

1936{
1937 switch(type.level())
1938 {
1939 case SectionType::Page: m_t << "</h1>"; break;
1940 case SectionType::Section: m_t << "</h2>"; break;
1941 case SectionType::Subsection: m_t << "</h3>"; break;
1942 case SectionType::Subsubsection: m_t << "</h4>"; break;
1943 case SectionType::Paragraph: m_t << "</h5>"; break;
1944 case SectionType::Subparagraph: m_t << "</h6>"; break;
1945 case SectionType::Subsubparagraph: m_t << "</h6>"; break;
1946 default: ASSERT(0); break;
1947 }
1948}
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 1877 of file htmlgen.cpp.

1878{
1879 m_t << "</a>";
1880}

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

3443{
3444 endTitle();
3445 m_t << "</div>\n";
3446}
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 3721 of file htmlgen.cpp.

3722{
3723 SectionType type = si->type();
3724 int nextLevel = type.level();
3725 if (type.isSection() && nextLevel<=m_tocState.maxLevel)
3726 {
3727 m_t << "</a>\n";
3728 m_tocState.inLi[nextLevel]=true;
3729 m_tocState.level = nextLevel;
3730 }
3731}
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 2466 of file htmlgen.cpp.

2467{
2468 DBG_HTML(m_t << "<!-- exceptionEntry -->\n";)
2469 if (!closeBracket)
2470 {
2471 m_t << "</td>\n";
2472 m_t << " </tr>\n";
2473 m_t << " <tr>\n";
2474 m_t << " <td align=\"right\">";
2475 }
2476 // colspan 2 so it gets both parameter type and parameter name columns
2477 if (!prefix.isEmpty())
2478 m_t << prefix << "</td><td>(</td><td colspan=\"2\">";
2479 else if (closeBracket)
2480 m_t << "&#160;)</td><td></td><td></td><td>";
2481 else
2482 m_t << "</td><td></td><td colspan=\"2\">";
2483}
constexpr auto prefix
Definition anchor.cpp:44

References DBG_HTML, OutputGenerator::m_t, and prefix.

◆ getMathJaxMacros()

QCString HtmlGenerator::getMathJaxMacros ( )
static

Definition at line 3644 of file htmlgen.cpp.

3645{
3646 return getConvertLatexMacro();
3647}
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 3649 of file htmlgen.cpp.

3650{
3651 ResourceMgr &mgr = ResourceMgr::instance();
3652 return replaceVariables(mgr.getAsString("navtree.css"));
3653}
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:705

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

Referenced by init().

◆ init()

void HtmlGenerator::init ( )
static

Definition at line 1202 of file htmlgen.cpp.

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

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

2183{
2184 DBG_HTML(m_t << "<!-- insertMemberAlign -->\n")
2185 m_t << "&#160;</td><td class=\"memItemRight\" valign=\"bottom\">";
2186}

References DBG_HTML, and OutputGenerator::m_t.

Referenced by endMemberItem().

◆ insertMemberAlignLeft()

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

Implements OutputGenIntf.

Definition at line 2188 of file htmlgen.cpp.

2189{
2190 if (!initTag) m_t << "&#160;</td>";
2191 switch (type)
2192 {
2193 case MemberItemType::Normal: m_t << "<td class=\"memItemLeft\" align=\"right\" valign=\"top\">"; break;
2194 case MemberItemType::AnonymousStart: m_t << "<td class=\"memItemLeft anon\">"; break;
2195 case MemberItemType::AnonymousEnd: m_t << "<td class=\"memItemLeft anonEnd\" valign=\"top\">"; break;
2196 case MemberItemType::Templated: m_t << "<td class=\"memTemplParams\" colspan=\"2\">"; break;
2197 }
2198}

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

3420{
3421 if (!style.isEmpty())
3422 {
3423 m_t << "<br class=\"" << style << "\" />\n";
3424 }
3425 else
3426 {
3427 m_t << "<br />\n";
3428 }
3429}

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

◆ operator=() [1/2]

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

Definition at line 1168 of file htmlgen.cpp.

1169{
1170 //printf("%p:HtmlGenerator(copy assign %p)\n",(void*)this,(void*)&og);
1171 if (this!=&og)
1172 {
1173 m_dir = og.m_dir;
1174 m_codeList = std::make_unique<OutputCodeList>(*og.m_codeList);
1175 m_codeGen = m_codeList->get<HtmlCodeGenerator>(OutputType::Html);
1176 m_codeGen->setTextStream(&m_t);
1179 m_relPath = og.m_relPath;
1182 }
1183 return *this;
1184}

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

2567{
2569}
static void startSectionHeader(TextStream &t, const QCString &relPath, int sectionCount)
Definition htmlgen.cpp:2002

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

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

◆ startCompoundTemplateParams()

void HtmlGenerator::startCompoundTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2172 of file htmlgen.cpp.

2173{
2174 m_t << "<div class=\"compoundTemplParams\">";
2175}

References OutputGenerator::m_t.

◆ startConstraintDocs()

void HtmlGenerator::startConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3401 of file htmlgen.cpp.

3402{
3403 m_t << "<td>&#160;";
3404}

References OutputGenerator::m_t.

◆ startConstraintList()

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

Implements OutputGenIntf.

Definition at line 3374 of file htmlgen.cpp.

3375{
3376 m_t << "<div class=\"typeconstraint\">\n";
3377 m_t << "<dl><dt><b>" << header << "</b></dt><dd>\n";
3378 m_t << "<table border=\"0\" cellspacing=\"2\" cellpadding=\"0\">\n";
3379}

References OutputGenerator::m_t.

◆ startConstraintParam()

void HtmlGenerator::startConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3381 of file htmlgen.cpp.

3382{
3383 m_t << "<tr><td valign=\"top\"><em>";
3384}

References OutputGenerator::m_t.

◆ startConstraintType()

void HtmlGenerator::startConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3391 of file htmlgen.cpp.

3392{
3393 m_t << "<td>&#160;:</td><td valign=\"top\"><em>";
3394}

References OutputGenerator::m_t.

◆ startContents()

void HtmlGenerator::startContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3143 of file htmlgen.cpp.

3144{
3145 m_t << "<div class=\"contents\">\n";
3146}

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

2661{
2662 m_t << "<table class=\"fieldtable\">\n"
2663 << "<tr><th colspan=\"" << (hasInits?3:2) << "\">" << title << "</th></tr>";
2664}

References OutputGenerator::m_t.

◆ startDescTableData()

void HtmlGenerator::startDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2700 of file htmlgen.cpp.

2701{
2702 m_t << "<td class=\"fielddoc\">";
2703}

References OutputGenerator::m_t.

◆ startDescTableInit()

void HtmlGenerator::startDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2690 of file htmlgen.cpp.

2691{
2692 m_t << "<td class=\"fieldinit\">";
2693}

References OutputGenerator::m_t.

◆ startDescTableRow()

void HtmlGenerator::startDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2670 of file htmlgen.cpp.

2671{
2672 m_t << "<tr>";
2673}

References OutputGenerator::m_t.

◆ startDescTableTitle()

void HtmlGenerator::startDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2680 of file htmlgen.cpp.

2681{
2682 m_t << "<td class=\"fieldname\">";
2683}

References OutputGenerator::m_t.

◆ startDirDepGraph()

void HtmlGenerator::startDirDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2584 of file htmlgen.cpp.

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

◆ startDotGraph()

void HtmlGenerator::startDotGraph ( )
overridevirtual

Implements OutputGenIntf.

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

1746{
1747 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>";
1748}

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

2711{
2712 m_t << "<dl class=\"section examples\"><dt>";
2714 m_t << "</dt>";
2715}
void docify(const QCString &text) override
Definition htmlgen.cpp:1950
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 1544 of file htmlgen.cpp.

1546{
1547 //printf("HtmlGenerator::startFile(%s)\n",qPrint(name));
1549 QCString fileName = name;
1551 m_lastTitle=title;
1552
1554 m_codeGen->setFileName(fileName);
1555 m_codeGen->setRelativePath(m_relPath);
1556 {
1557 std::lock_guard<std::mutex> lock(g_indexLock);
1559 }
1560
1563
1564 m_t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
1565 << getDoxygenVersion() << " -->\n";
1566 bool searchEngine = Config_getBool(SEARCHENGINE);
1567 if (searchEngine /*&& !generateTreeView*/)
1568 {
1569 m_t << "<script type=\"text/javascript\">\n";
1570 m_t << "var searchBox = new SearchBox(\"searchBox\", \""
1571 << m_relPath<< "search/\",'" << Doxygen::htmlFileExtension << "');\n";
1572 m_t << "</script>\n";
1573 }
1574 if (Config_getBool(HTML_CODE_FOLDING))
1575 {
1576 m_t << "<script type=\"text/javascript\">\n";
1577 m_t << "$(function() { codefold.init(); });\n";
1578 m_t << "</script>\n";
1579 }
1581}
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:1542
QCString convertToHtml(const QCString &s, bool keepEntities)
Definition util.cpp:4479
QCString relativePathToRoot(const QCString &name)
Definition util.cpp:4095
QCString filterTitle(const QCString &title)
Definition util.cpp:6133
void addHtmlExtensionIfMissing(QCString &fName)
Definition util.cpp:5418

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

1883{
1884 if (extraIndentLevel==2)
1885 {
1886 m_t << "<h4";
1887 }
1888 else if (extraIndentLevel==1)
1889 {
1890 m_t << "<h3";
1891 }
1892 else // extraIndentLevel==0
1893 {
1894 m_t << "<h2";
1895 }
1896 if (!id.isEmpty())
1897 {
1898 m_t <<" id=\"header-"+convertToId(id)+"\"";
1899 }
1900 m_t << " class=\"groupheader\">";
1901}

References convertToId(), and OutputGenerator::m_t.

◆ startHeaderSection()

void HtmlGenerator::startHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3431 of file htmlgen.cpp.

3432{
3433 m_t << "<div class=\"header\">\n";
3434}

References OutputGenerator::m_t.

◆ startInclDepGraph()

void HtmlGenerator::startInclDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2530 of file htmlgen.cpp.

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

◆ startIndent()

void HtmlGenerator::startIndent ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2635 of file htmlgen.cpp.

2636{
2637 DBG_HTML(m_t << "<!-- startIndent -->\n";)
2638
2639 m_t << "<div class=\"memdoc\">\n";
2640}

References DBG_HTML, and OutputGenerator::m_t.

◆ startIndexItem()

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

Implements OutputGenIntf.

Definition at line 1786 of file htmlgen.cpp.

1787{
1788 //printf("HtmlGenerator::startIndexItem(%s,%s)\n",ref,f);
1789 if (!ref.isEmpty() || !f.isEmpty())
1790 {
1791 if (!ref.isEmpty())
1792 {
1793 m_t << "<a class=\"elRef\" ";
1795 }
1796 else
1797 {
1798 m_t << "<a class=\"el\" ";
1799 }
1800 m_t << "href=\"";
1801 m_t << externalRef(m_relPath,ref,TRUE);
1802 if (!f.isEmpty())
1803 {
1804 QCString fn=f;
1806 m_t << fn;
1807 }
1808 m_t << "\">";
1809 }
1810 else
1811 {
1812 m_t << "<b>";
1813 }
1814}
QCString externalRef(const QCString &relPath, const QCString &ref, bool href)
Definition util.cpp:6272
QCString externalLinkTarget(const bool parent)
Definition util.cpp:6228

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

◆ startIndexKey()

void HtmlGenerator::startIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2300 of file htmlgen.cpp.

2301{
2302 //m_t << " <tr><td class=\"indexkey\">";
2303}

◆ startIndexList()

void HtmlGenerator::startIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2290 of file htmlgen.cpp.

2291{
2292 m_t << "<table>\n";
2293}

References OutputGenerator::m_t.

◆ startIndexListItem()

void HtmlGenerator::startIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1776 of file htmlgen.cpp.

1777{
1778 m_t << "<li>";
1779}

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

2311{
2312 //m_t << "<td class=\"indexvalue\">";
2313}

◆ startInlineHeader()

void HtmlGenerator::startInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3453 of file htmlgen.cpp.

3454{
3455 if (m_emptySection)
3456 {
3457 m_t << "<table class=\"memberdecls\">\n";
3459 }
3460 m_t << "<tr><td colspan=\"2\"><h3>";
3461}

References FALSE, m_emptySection, and OutputGenerator::m_t.

◆ startInlineMemberDoc()

void HtmlGenerator::startInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3507 of file htmlgen.cpp.

3508{
3509 DBG_HTML(m_t << "<!-- startInlineMemberDoc -->\n";)
3510 m_t << "<td class=\"fielddoc\">\n";
3511}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberName()

void HtmlGenerator::startInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3495 of file htmlgen.cpp.

3496{
3497 DBG_HTML(m_t << "<!-- startInlineMemberName -->\n";)
3498 m_t << "<td class=\"fieldname\">\n";
3499}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberType()

void HtmlGenerator::startInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3483 of file htmlgen.cpp.

3484{
3485 DBG_HTML(m_t << "<!-- startInlineMemberType -->\n";)
3486 m_t << "<tr><td class=\"fieldtype\">\n";
3487}

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

3520{
3521 DBG_HTML(m_t << "<!-- startLabels -->\n";)
3522 m_t << "<span class=\"mlabels\">";
3523}

References DBG_HTML, and OutputGenerator::m_t.

◆ startLocalToc()

void HtmlGenerator::startLocalToc ( int level)
overridevirtual

Implements OutputGenIntf.

Definition at line 3655 of file htmlgen.cpp.

3656{
3657 m_tocState.level=0;
3658 m_tocState.indent=0;
3659 m_tocState.maxLevel=level;
3660 m_tocState.inLi = BoolVector(level+1,false);
3661 m_t << "<div class=\"toc\">";
3662 m_t << "<h3>" << theTranslator->trRTFTableOfContents() << "</h3>\n";
3663}
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 2200 of file htmlgen.cpp.

2201{
2202 DBG_HTML(m_t << "<!-- startMemberDescription -->\n")
2203 if (m_emptySection)
2204 {
2205 m_t << "<table class=\"memberdecls\">\n";
2207 }
2208 m_t << "<tr class=\"memdesc:" << anchor;
2209 if (!inheritId.isEmpty())
2210 {
2211 m_t << " inherit " << inheritId;
2212 }
2213 m_t << "\">";
2214 m_t << "<td class=\"mdescLeft\">&#160;</td>";
2215 if (typ) m_t << "<td class=\"mdescLeft\">&#160;</td>";
2216 m_t << "<td class=\"mdescRight\">";
2217}

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

2333{
2334 DBG_HTML(m_t << "<!-- startMemberDoc -->\n";)
2335 m_t << "\n<h2 class=\"memtitle\">"
2336 << "<span class=\"permalink\"><a href=\"#" << anchor << "\">&#9670;&#160;</a></span>";
2337 docify(title);
2338 if (memTotal>1)
2339 {
2340 m_t << " <span class=\"overload\">[" << memCount << "/" << memTotal <<"]</span>";
2341 }
2342 m_t << "</h2>\n";
2343 m_t << "\n<div class=\"memitem\">\n";
2344 m_t << "<div class=\"memproto\">\n";
2345}

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

◆ startMemberDocList()

void HtmlGenerator::startMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2320 of file htmlgen.cpp.

2321{
2322 DBG_HTML(m_t << "<!-- startMemberDocList -->\n";)
2323}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocName()

void HtmlGenerator::startMemberDocName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2359 of file htmlgen.cpp.

2360{
2361 DBG_HTML(m_t << "<!-- startMemberDocName -->\n";)
2362
2363 m_t << " <table class=\"memname\">\n";
2364
2365 m_t << " <tr>\n";
2366 m_t << " <td class=\"memname\">";
2367}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocPrefixItem()

void HtmlGenerator::startMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2347 of file htmlgen.cpp.

2348{
2349 DBG_HTML(m_t << "<!-- startMemberDocPrefixItem -->\n";)
2350 m_t << "<div class=\"memtemplate\">\n";
2351}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocSimple()

void HtmlGenerator::startMemberDocSimple ( bool isEnum)
overridevirtual

Implements OutputGenIntf.

Definition at line 3468 of file htmlgen.cpp.

3469{
3470 DBG_HTML(m_t << "<!-- startMemberDocSimple -->\n";)
3471 m_t << "<table class=\"fieldtable\">\n";
3472 m_t << "<tr><th colspan=\"" << (isEnum?"2":"3") << "\">";
3473 m_t << (isEnum? theTranslator->trEnumerationValues() :
3474 theTranslator->trCompoundMembers()) << "</th></tr>\n";
3475}
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 2627 of file htmlgen.cpp.

2628{
2629}

◆ startMemberGroupDocs()

void HtmlGenerator::startMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2617 of file htmlgen.cpp.

2618{
2619 m_t << "<tr><td colspan=\"2\" class=\"ititle\"><div class=\"groupText\">";
2620}

References OutputGenerator::m_t.

◆ startMemberGroupHeader()

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

Implements OutputGenIntf.

Definition at line 2607 of file htmlgen.cpp.

2608{
2609 m_t << "<tr id=\"" << id << "\" class=\"groupHeader\"><td colspan=\"2\"><div class=\"groupHeader\">";
2610}

References OutputGenerator::m_t.

◆ startMemberHeader()

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

Implements OutputGenIntf.

Definition at line 2242 of file htmlgen.cpp.

2243{
2244 DBG_HTML(m_t << "<!-- startMemberHeader -->\n")
2245 if (!m_emptySection)
2246 {
2247 m_t << "</table>";
2249 }
2250 if (m_emptySection)
2251 {
2252 m_t << "<table class=\"memberdecls\">\n";
2254 }
2255 m_t << "<tr class=\"heading\"><td colspan=\"" << typ << "\"><h2";
2256 if (!anchor.isEmpty())
2257 {
2258 m_t << " id=\"header-" << anchor << "\"";
2259 }
2260 m_t << " class=\"groupheader\">";
2261 if (!anchor.isEmpty())
2262 {
2263 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>\n";
2264 }
2265}

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

2127{
2128 DBG_HTML(m_t << "<!-- startMemberItem() -->\n")
2129 if (m_emptySection)
2130 {
2131 m_t << "<table class=\"memberdecls\">\n";
2133 }
2134 m_t << "<tr class=\"memitem:" << convertToId(anchor);
2135 if (!inheritId.isEmpty())
2136 {
2137 m_t << " inherit " << inheritId;
2138 }
2139 m_t << "\"";
2140 if (!anchor.isEmpty())
2141 {
2142 m_t << " id=\"r_" << convertToId(anchor) << "\"";
2143 }
2144 m_t << ">";
2146}
void insertMemberAlignLeft(MemberItemType, bool) override
Definition htmlgen.cpp:2188

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

2113{
2114 DBG_HTML(m_t << "<!-- startMemberList -->\n")
2115}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberSections()

void HtmlGenerator::startMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2225 of file htmlgen.cpp.

2226{
2227 DBG_HTML(m_t << "<!-- startMemberSections -->\n")
2228 m_emptySection=TRUE; // we postpone writing <table> until we actually
2229 // write a row to prevent empty tables, which
2230 // are not valid XHTML!
2231}

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

◆ startMemberSubtitle()

void HtmlGenerator::startMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2273 of file htmlgen.cpp.

2274{
2275 DBG_HTML(m_t << "<!-- startMemberSubtitle -->\n")
2276 if (m_emptySection)
2277 {
2278 m_t << "<table class=\"memberdecls\">\n";
2280 }
2281 m_t << "<tr><td class=\"ititle\" colspan=\"2\">";
2282}

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

◆ startMemberTemplateParams()

void HtmlGenerator::startMemberTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2157 of file htmlgen.cpp.

2158{
2159}

◆ startPageDoc()

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

Implements OutputGenIntf.

Definition at line 3153 of file htmlgen.cpp.

3154{
3155 m_t << "<div>";
3156}

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

1759{
1760 if (!classDef.isEmpty())
1761 m_t << "\n<p class=\"" << classDef << "\">";
1762 else
1763 m_t << "\n<p>";
1764}

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

◆ startParameterDefVal()

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

Implements OutputGenIntf.

Definition at line 2447 of file htmlgen.cpp.

2448{
2449 m_t << "<span class=\"paramdefsep\">";
2450 docify(s);
2451 m_t << "</span><span class=\"paramdefval\">";
2452}

References docify(), and OutputGenerator::m_t.

◆ startParameterExtra()

void HtmlGenerator::startParameterExtra ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2418 of file htmlgen.cpp.

2419{
2420 DBG_HTML(m_t << "<!-- startParameterExtra -->\n";)
2421}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterList()

void HtmlGenerator::startParameterList ( bool openBracket)
overridevirtual

Implements OutputGenIntf.

Definition at line 2375 of file htmlgen.cpp.

2376{
2377 DBG_HTML(m_t << "<!-- startParameterList -->\n";)
2378 m_t << " <td>";
2379 if (openBracket) m_t << "(";
2380 m_t << "</td>\n";
2381}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterName()

void HtmlGenerator::startParameterName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2406 of file htmlgen.cpp.

2407{
2408 DBG_HTML(m_t << "<!-- startParameterName -->\n";)
2409 m_t << " <td class=\"paramname\"><span class=\"paramname\"><em>";
2410}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterType()

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

Implements OutputGenIntf.

Definition at line 2383 of file htmlgen.cpp.

2384{
2385 if (first)
2386 {
2387 DBG_HTML(m_t << "<!-- startFirstParameterType -->\n";)
2388 m_t << " <td class=\"paramtype\">";
2389 }
2390 else
2391 {
2392 DBG_HTML(m_t << "<!-- startParameterType -->\n";)
2393 m_t << " <tr>\n";
2394 m_t << " <td class=\"paramkey\">" << key << "</td>\n";
2395 m_t << " <td></td>\n";
2396 m_t << " <td class=\"paramtype\">";
2397 }
2398}

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

1663{
1664 m_t << "<h3 class=\"version\">";
1665}

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

1920{
1921 switch(type.level())
1922 {
1923 case SectionType::Page: m_t << "\n\n<h1 class=\"doxsection\">"; break;
1924 case SectionType::Section: m_t << "\n\n<h2 class=\"doxsection\">"; break;
1925 case SectionType::Subsection: m_t << "\n\n<h3 class=\"doxsection\">"; break;
1926 case SectionType::Subsubsection: m_t << "\n\n<h4 class=\"doxsection\">"; break;
1927 case SectionType::Paragraph: m_t << "\n\n<h5 class=\"doxsection\">"; break;
1928 case SectionType::Subparagraph: m_t << "\n\n<h6 class=\"doxsection\">"; break;
1929 case SectionType::Subsubparagraph: m_t << "\n\n<h6 class=\"doxsection\">"; break;
1930 default: ASSERT(0); break;
1931 }
1932 m_t << "<a id=\"" << lab << "\" name=\"" << lab << "\"></a>";
1933}

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

1866{
1867 m_t << "<a href=\"";
1868 QCString fn = f;
1870 m_t << createHtmlUrl(m_relPath,"",true,
1871 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1872 fn,
1873 anchor);
1874 m_t << "\">";
1875}
QCString createHtmlUrl(const QCString &relPath, const QCString &ref, bool href, bool isLocalFile, const QCString &targetFileName, const QCString &anchor)
Definition util.cpp:6239

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

3437{
3438 m_t << " <div class=\"headertitle\">";
3439 startTitle();
3440}
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 3677 of file htmlgen.cpp.

3678{
3679 SectionType type = si->type();
3680 if (type.isSection())
3681 {
3682 //printf(" level=%d title=%s maxLevel=%d\n",level,qPrint(si->title()),maxLevel);
3683 int nextLevel = type.level();
3684 if (nextLevel>m_tocState.level)
3685 {
3686 for (int l=m_tocState.level;l<nextLevel;l++)
3687 {
3688 if (l < m_tocState.maxLevel)
3689 {
3690 m_tocState.incIndent(m_t,"<ul>");
3691 char cs[2] = { static_cast<char>('0'+l+1), 0 };
3692 const char *empty = (l!=nextLevel-1) ? " empty" : "";
3693 m_tocState.incIndent(m_t,"<li class=\"level" + QCString(cs) + empty + "\">");
3694 }
3695 }
3696 }
3697 else if (nextLevel<m_tocState.level)
3698 {
3699 for (int l=m_tocState.level;l>nextLevel;l--)
3700 {
3701 if (l <= m_tocState.maxLevel) m_tocState.decIndent(m_t,"</li>");
3702 m_tocState.inLi[l] = false;
3703 if (l <= m_tocState.maxLevel) m_tocState.decIndent(m_t,"</ul>");
3704 }
3705 }
3706 if (nextLevel <= m_tocState.maxLevel)
3707 {
3708 if (m_tocState.inLi[nextLevel] || m_tocState.level>nextLevel)
3709 {
3710 m_tocState.decIndent(m_t,"</li>");
3711 char cs[2] = { static_cast<char>('0'+nextLevel), 0 };
3712 m_tocState.incIndent(m_t,"<li class=\"level" + QCString(cs) + "\">");
3713 }
3714 QCString label = si->label();
3715 m_tocState.writeIndent(m_t);
3716 m_t << "<a href=\"#"+label+"\">";
3717 }
3718 }
3719}
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 1992 of file htmlgen.cpp.

1993{
1994 char cs[2];
1995 cs[0]=c;
1996 cs[1]=0;
1997 docify(cs);
1998}

References docify().

◆ writeDoc()

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

Implements OutputGenIntf.

Definition at line 2722 of file htmlgen.cpp.

2723{
2724 const DocNodeAST *astImpl = dynamic_cast<const DocNodeAST*>(ast);
2725 if (astImpl)
2726 {
2727 m_codeList->setId(id);
2728 HtmlDocVisitor visitor(m_t,*m_codeList,ctx,fileName());
2729 std::visit(visitor,astImpl->root);
2730 }
2731}
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 3268 of file htmlgen.cpp.

3269{
3270 bool disableIndex = Config_getBool(DISABLE_INDEX);
3271 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3272 bool fullSidebar = Config_getBool(FULL_SIDEBAR);
3273 bool quickLinksAfterSplitbar = !disableIndex && generateTreeView && fullSidebar;
3274 QCString dname = Config_getString(HTML_OUTPUT);
3275 QCString fileName = dname+"/search"+Doxygen::htmlFileExtension;
3276 std::ofstream f = Portable::openOutputStream(fileName);
3277 if (f.is_open())
3278 {
3279 TextStream t(&f);
3281
3282 t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
3283 << getDoxygenVersion() << " -->\n";
3284 t << "<script type=\"text/javascript\">\n";
3285 t << "var searchBox = new SearchBox(\"searchBox\", \""
3286 << "search/\",'" << Doxygen::htmlFileExtension << "');\n";
3287 t << "</script>\n";
3288
3289 if (!disableIndex && !quickLinksAfterSplitbar)
3290 {
3291 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3292 }
3293 if (generateTreeView)
3294 {
3295 t << "</div><!-- top -->\n";
3296 }
3297 t << writeSplitBarAsString("search.php",QCString(),QCString());
3298 if (quickLinksAfterSplitbar)
3299 {
3300 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3301 }
3302
3303 t << "<div class=\"header\">\n";
3304 t << " <div class=\"headertitle\">\n";
3305 t << " <div class=\"title\">" << theTranslator->trSearchResultsTitle() << "</div>\n";
3306 t << " </div>\n";
3307 t << "</div>\n";
3308 t << "<div class=\"contents\">\n";
3309
3310 t << "<div id=\"searchresults\"></div>\n";
3311 t << "</div>\n";
3312
3313 if (generateTreeView)
3314 {
3315 t << "</div><!-- doc-content -->\n";
3316 t << "</div><!-- container -->\n";
3317 }
3318
3319 writePageFooter(t,"Search","","");
3320
3321 }
3322 f.close();
3323
3324 QCString scriptName = dname+"/search/search.js";
3325 f = Portable::openOutputStream(scriptName);
3326 if (f.is_open())
3327 {
3328 TextStream t(&f);
3329 t << "var searchResultsText=["
3330 << "\"" << theTranslator->trSearchResults(0) << "\","
3331 << "\"" << theTranslator->trSearchResults(1) << "\","
3332 << "\"" << theTranslator->trSearchResults(2) << "\"];\n";
3333 t << "var serverUrl=\"" << Config_getString(SEARCHENGINE_URL) << "\";\n";
3334 t << "var tagMap = {\n";
3335 bool first=TRUE;
3336 // add search mappings
3337 const StringVector &extraSearchMappings = Config_getList(EXTRA_SEARCH_MAPPINGS);
3338 for (const auto &ml : extraSearchMappings)
3339 {
3340 QCString mapLine(ml);
3341 int eqPos = mapLine.find('=');
3342 if (eqPos!=-1) // tag command contains a destination
3343 {
3344 QCString tagName = mapLine.left(eqPos).stripWhiteSpace();
3345 QCString destName = mapLine.right(mapLine.length()-eqPos-1).stripWhiteSpace();
3346 if (!tagName.isEmpty())
3347 {
3348 if (!first) t << ",\n";
3349 t << " \"" << tagName << "\": \"" << destName << "\"";
3350 first=FALSE;
3351 }
3352 }
3353 }
3354 if (!first) t << "\n";
3355 t << "};\n\n";
3356 t << ResourceMgr::instance().getAsString("extsearch.js");
3357 t << "\n";
3358 t << "$(function() {\n";
3359 t << " var query = trim(getURLParameter('query'));\n";
3360 t << " if (query) {\n";
3361 t << " searchFor(query,0,20);\n";
3362 t << " } else {\n";
3363 t << " var results = $('#results');\n";
3364 t << " results.html('<p>" << theTranslator->trSearchResults(0) << "</p>');\n";
3365 t << " }\n";
3366 t << "});\n";
3367 }
3368 else
3369 {
3370 err("Failed to open file '{}' for writing...\n",scriptName);
3371 }
3372}
static void writePageFooter(TextStream &t, const QCString &, const QCString &, const QCString &)
Definition htmlgen.cpp:1646
static QCString writeSplitBarAsString(const QCString &name, const QCString &relpath, const QCString &allMembersFile)
Definition htmlgen.cpp:3098
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:2944
#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 1652 of file htmlgen.cpp.

1653{
1655}

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

◆ writeFooterFile()

void HtmlGenerator::writeFooterFile ( TextStream & t)
static

Definition at line 1536 of file htmlgen.cpp.

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

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

Referenced by readConfiguration().

◆ writeGraphicalHierarchy()

void HtmlGenerator::writeGraphicalHierarchy ( DotGfxHierarchyTable & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2602 of file htmlgen.cpp.

2603{
2604 g.writeGraph(m_t,dir(),fileName());
2605}
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 1530 of file htmlgen.cpp.

1531{
1532 t << "<!-- HTML header for doxygen " << getDoxygenVersion() << "-->\n";
1533 t << ResourceMgr::instance().getAsString("header.html");
1534}

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

3575{
3576 DBG_HTML(m_t << "<!-- writeInheritedSectionTitle -->\n";)
3577 QCString a = anchor;
3578 if (!a.isEmpty()) a.prepend("#");
3579 QCString classLink = QCString("<a class=\"el\" ");
3580 if (!ref.isEmpty())
3581 {
3582 classLink+= externalLinkTarget();
3583 classLink += " href=\"";
3584 classLink+= externalRef(m_relPath,ref,TRUE);
3585 }
3586 else
3587 {
3588 classLink += "href=\"";
3589 classLink+=m_relPath;
3590 }
3591 QCString fn = file;
3593 classLink=classLink+fn+a;
3594 classLink+=QCString("\">")+convertToHtml(name,FALSE)+"</a>";
3595 m_t << "<tr class=\"inherit_header " << id << "\">"
3596 << "<td colspan=\"2\" onclick=\"javascript:dynsection.toggleInherit('" << id << "')\">"
3597 << "<span class=\"dynarrow\"><span class=\"arrowhead closed\"></span></span>"
3598 << theTranslator->trInheritedFrom(convertToHtml(title,FALSE),classLink)
3599 << "</td></tr>\n";
3600}
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 3525 of file htmlgen.cpp.

3526{
3527 DBG_HTML(m_t << "<!-- writeLabel(" << label << ") -->\n";)
3528
3529 auto convertLabelToClass = [](const std::string &lab) {
3530 QCString input = convertUTF8ToLower(lab);
3531 QCString result;
3532 size_t l=input.length();
3533 result.reserve(l);
3534
3535 // Create valid class selector, see 10.2 here https://www.w3.org/TR/selectors-3/#w3cselgrammar
3536 // ident [-]?{nmstart}{nmchar}*
3537 // nmstart [_a-z]|{nonascii}
3538 // nonascii [^\0-\177]
3539 // nmchar [_a-z0-9-]|{nonascii}
3540
3541 bool nmstart=false;
3542 for (size_t i=0; i<l; i++)
3543 {
3544 char c = input.at(i);
3545 if (c<0 || (c>='a' && c<='z') || c=='_') // nmstart pattern
3546 {
3547 nmstart=true;
3548 result+=c;
3549 }
3550 else if (nmstart && (c<0 || (c>='a' && c<='z') || (c>='0' && c<='9') || c=='_')) // nmchar pattern
3551 {
3552 result+=c;
3553 }
3554 else if (nmstart && (c==' ' || c=='-')) // show whitespace as -
3555 {
3556 result+='-';
3557 }
3558 }
3559 return result;
3560 };
3561
3562 m_t << "<span class=\"mlabel " << convertLabelToClass(label.stripWhiteSpace().str()) << "\">" << label << "</span>";
3563}
size_t length() const
Returns the length of the string, not counting the 0-terminator.
Definition qcstring.h:166
char & at(size_t i)
Returns a reference to the character at index i.
Definition qcstring.h:593
void reserve(size_t size)
Reserve space for size bytes without changing the string contents.
Definition qcstring.h:185
std::string convertUTF8ToLower(const std::string &input)
Converts the input string into a lower case version, also taking into account non-ASCII characters th...
Definition utf8.cpp:187

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

◆ writeLatexSpacing()

void HtmlGenerator::writeLatexSpacing ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 231 of file htmlgen.h.

231{}

◆ writeLogo()

void HtmlGenerator::writeLogo ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1641 of file htmlgen.cpp.

1642{
1644}
static QCString writeLogoAsString(const QCString &path)
Definition htmlgen.cpp:1619

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

◆ writeLogoAsString()

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

Definition at line 1619 of file htmlgen.cpp.

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

3139{
3140 m_t << substitute(s,"$relpath^",m_relPath);
3141}

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

◆ writeNonBreakableSpace()

void HtmlGenerator::writeNonBreakableSpace ( int n)
overridevirtual

Implements OutputGenIntf.

Definition at line 2652 of file htmlgen.cpp.

2653{
2654 for (int i=0; i<n; i++)
2655 {
2656 m_t << "&#160;";
2657 }
2658}

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

1843{
1844 if (!ref.isEmpty())
1845 {
1846 m_t << "<a class=\"elRef\" ";
1848 }
1849 else
1850 {
1851 m_t << "<a class=\"el\" ";
1852 }
1853 m_t << "href=\"";
1854 QCString fn = f;
1856 m_t << createHtmlUrl(m_relPath,ref,true,
1857 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1858 fn,
1859 anchor);
1860 m_t << "\">";
1861 docify(name);
1862 m_t << "</a>";
1863}

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

1648{
1649 t << substituteHtmlKeywords(g_footer_file,g_footer,convertToHtml(lastTitle),relPath,navPath);
1650}

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

3630{
3631 m_t << "<div id=\"page-nav\" class=\"page-nav-panel\">\n";
3632 m_t << "<div id=\"page-nav-resize-handle\"></div>\n";
3633 m_t << "<div id=\"page-nav-tree\">\n";
3634 m_t << "<div id=\"page-nav-contents\">\n";
3635 m_t << "</div><!-- page-nav-contents -->\n";
3636 m_t << "</div><!-- page-nav-tree -->\n";
3637 m_t << "</div><!-- page-nav -->\n";
3638}

References OutputGenerator::m_t.

◆ writeQuickLinks()

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

Implements OutputGenIntf.

Definition at line 3163 of file htmlgen.cpp.

3164{
3165 writeDefaultQuickLinks(m_t,hli,file,m_relPath,extraTabs);
3166}

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

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

1614{
1616}
static void writeSearchInfoStatic(TextStream &t, const QCString &relPath)
Definition htmlgen.cpp:1583

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

◆ writeSearchInfoStatic()

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

Definition at line 1583 of file htmlgen.cpp.

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

3170{
3171 bool disableIndex = Config_getBool(DISABLE_INDEX);
3172 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3173 bool fullSidebar = Config_getBool(FULL_SIDEBAR);
3174 bool quickLinksAfterSplitbar = !disableIndex && generateTreeView && fullSidebar;
3175 QCString projectName = Config_getString(PROJECT_NAME);
3176 QCString htmlOutput = Config_getString(HTML_OUTPUT);
3177
3178 // OPENSEARCH_PROVIDER {
3179 QCString configFileName = htmlOutput+"/search_config.php";
3180 std::ofstream f = Portable::openOutputStream(configFileName);
3181 if (f.is_open())
3182 {
3183 TextStream t(&f);
3184 t << "<?php\n\n";
3185 t << "$config = array(\n";
3186 t << " 'PROJECT_NAME' => \"" << convertToHtml(projectName) << "\",\n";
3187 t << " 'GENERATE_TREEVIEW' => " << (generateTreeView?"true":"false") << ",\n";
3188 t << " 'DISABLE_INDEX' => " << (disableIndex?"true":"false") << ",\n";
3189 t << " 'FULL_SIDEBAR' => " << (fullSidebar?"true":"false") << ",\n";
3190 t << ");\n\n";
3191 t << "$translator = array(\n";
3192 t << " 'search_results_title' => \"" << theTranslator->trSearchResultsTitle() << "\",\n";
3193 t << " 'search_results' => array(\n";
3194 t << " 0 => \"" << theTranslator->trSearchResults(0) << "\",\n";
3195 t << " 1 => \"" << theTranslator->trSearchResults(1) << "\",\n";
3196 t << " 2 => \"" << substitute(theTranslator->trSearchResults(2), "$", "\\$") << "\",\n";
3197 t << " ),\n";
3198 t << " 'search_matches' => \"" << theTranslator->trSearchMatches() << "\",\n";
3199 t << " 'search' => \"" << theTranslator->trSearch() << "\",\n";
3200 t << " 'logo' => \"" << substitute(substitute(writeLogoAsString(""), "\"","\\\""), "\n","\\n") << "\",\n";
3201 t << ");\n\n";
3202 t << "?>\n";
3203 }
3204 f.close();
3205
3206 ResourceMgr::instance().copyResource("search_functions.php",htmlOutput);
3207 ResourceMgr::instance().copyResource("search_opensearch.php",htmlOutput);
3208 // OPENSEARCH_PROVIDER }
3209
3210 QCString fileName = htmlOutput+"/search.php";
3212 if (f.is_open())
3213 {
3214 TextStream t(&f);
3216
3217 t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
3218 << getDoxygenVersion() << " -->\n";
3219 t << "<script type=\"text/javascript\">\n";
3220 t << "var searchBox = new SearchBox(\"searchBox\", \""
3221 << "search/\",'" << Doxygen::htmlFileExtension << "');\n";
3222 t << "</script>\n";
3223
3224 if (!disableIndex && !quickLinksAfterSplitbar)
3225 {
3226 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3227 }
3228 if (generateTreeView)
3229 {
3230 t << "</div><!-- top -->\n";
3231 }
3232 t << writeSplitBarAsString("search.php",QCString(),QCString());
3233 if (quickLinksAfterSplitbar)
3234 {
3235 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3236 }
3237 t << "<!-- generated -->\n";
3238
3239 t << "<?php\n";
3240 t << "require_once \"search_functions.php\";\n";
3241 t << "main();\n";
3242 t << "?>\n";
3243
3244 // Write empty navigation path, to make footer connect properly
3245 if (generateTreeView)
3246 {
3247 t << "</div><!-- doc-content -->\n";
3248 t << "</div><!-- container -->\n";
3249 }
3250
3251 writePageFooter(t,"Search","","");
3252 }
3253 f.close();
3254
3255 QCString scriptName = htmlOutput+"/search/search.js";
3256 f = Portable::openOutputStream(scriptName);
3257 if (f.is_open())
3258 {
3259 TextStream t(&f);
3260 t << ResourceMgr::instance().getAsString("extsearch.js");
3261 }
3262 else
3263 {
3264 err("Failed to open file '{}' for writing...\n",scriptName);
3265 }
3266}
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 3133 of file htmlgen.cpp.

3134{
3135 m_t << writeSplitBarAsString(name,m_relPath,allMembersFile);
3136}

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

3099{
3100 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3101 QCString result;
3102 // write split bar
3103 if (generateTreeView)
3104 {
3105 QCString fn = name;
3107 if (!Config_getBool(FULL_SIDEBAR))
3108 {
3109 result += QCString(
3110 "<div id=\"side-nav\" class=\"ui-resizable side-nav-resizable\">\n");
3111 }
3112 result+=
3113 " <div id=\"nav-tree\">\n"
3114 " <div id=\"nav-tree-contents\">\n"
3115 " <div id=\"nav-sync\" class=\"sync\"></div>\n"
3116 " </div>\n"
3117 " </div>\n"
3118 " <div id=\"splitbar\" style=\"-moz-user-select:none;\" \n"
3119 " class=\"ui-resizable-handle\">\n"
3120 " </div>\n"
3121 "</div>\n"
3122 "<script type=\"text/javascript\">\n"
3123 "$(function(){initNavTree('" + fn + "','" + relpath + "','" + allMembersFile + "'); });\n"
3124 "</script>\n";
3125 if (Config_getBool(DISABLE_INDEX) || !Config_getBool(FULL_SIDEBAR))
3126 {
3127 result+="<div id=\"container\">\n<div id=\"doc-content\">\n";
3128 }
3129 }
3130 return result;
3131}

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

1831{
1832 m_t << "<li>";
1833 if (!path.isEmpty()) docify(path);
1834 QCString fn = f;
1836 m_t << "<a class=\"el\" href=\"" << fn << "\">";
1837 docify(name);
1838 m_t << "</a> ";
1839}

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

◆ writeString()

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

Implements OutputGenIntf.

Definition at line 1771 of file htmlgen.cpp.

1772{
1773 m_t << text;
1774}

References OutputGenerator::m_t.

◆ writeStyleInfo()

void HtmlGenerator::writeStyleInfo ( int part)
overridevirtual

Implements OutputGenIntf.

Definition at line 1672 of file htmlgen.cpp.

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

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

1525{
1528}

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

3603{
3604 if (first)
3605 {
3606 m_t << " <div class=\"summary\">\n";
3607 }
3608 else
3609 {
3610 m_t << " &#124;\n";
3611 }
3612 m_t << "<a href=\"";
3613 if (!file.isEmpty())
3614 {
3615 QCString fn = file;
3617 m_t << m_relPath << fn;
3618 }
3619 else if (!anchor.isEmpty())
3620 {
3621 m_t << "#";
3622 m_t << anchor;
3623 }
3624 m_t << "\">";
3625 m_t << title;
3626 m_t << "</a>";
3627}

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

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