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:

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 (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 (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) 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 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 writeLocalToc (const SectionRefs &sr, const LocalToc &lt) 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)
 
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
 

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

Constructor & Destructor Documentation

◆ HtmlGenerator() [1/3]

HtmlGenerator::HtmlGenerator ( )

Definition at line 1094 of file htmlgen.cpp.

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

1102 : OutputGenerator(og.m_dir), OutputGenIntf()
1103{
1104 //printf("%p:HtmlGenerator(copy %p)\n",(void*)this,(void*)&og);
1105 m_codeList = std::make_unique<OutputCodeList>(*og.m_codeList);
1106 m_codeGen = m_codeList->get<HtmlCodeGenerator>(OutputType::Html);
1107 m_codeGen->setTextStream(&m_t);
1110 m_relPath = og.m_relPath;
1113}
int m_sectionCount
Definition htmlgen.h:341
QCString m_lastFile
Definition htmlgen.h:339
QCString m_relPath
Definition htmlgen.h:340
bool m_emptySection
Definition htmlgen.h:342
QCString m_lastTitle
Definition htmlgen.h:338
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 1135 of file htmlgen.cpp.

1136{
1138}
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 2544 of file htmlgen.cpp.

2545{
2546}

◆ addLabel()

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

Implements OutputGenIntf.

Definition at line 1669 of file htmlgen.cpp.

1670{
1671}

◆ cleanup()

void HtmlGenerator::cleanup ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1292 of file htmlgen.cpp.

1293{
1294 QCString dname = Config_getString(HTML_OUTPUT);
1295 Dir d(dname.str());
1296 clearSubDirs(d);
1297}
const std::string & str() const
Definition qcstring.h:537
void clearSubDirs(const Dir &d)
Definition util.cpp:4176

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

◆ clearBuffer()

void HtmlGenerator::clearBuffer ( )

◆ clone()

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

Implements OutputGenIntf.

Definition at line 122 of file htmlgen.h.

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

◆ docify()

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

Implements OutputGenIntf.

Definition at line 1860 of file htmlgen.cpp.

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

1866{
1867 if (!str.isEmpty())
1868 {
1869 const char *p=str.data();
1870 while (*p)
1871 {
1872 char c=*p++;
1873 switch(c)
1874 {
1875 case '<': m_t << "&lt;"; break;
1876 case '>': m_t << "&gt;"; break;
1877 case '&': m_t << "&amp;"; break;
1878 case '"': m_t << "&quot;"; break;
1879 case '-': if (inHtmlComment) m_t << "&#45;"; else m_t << "-"; break;
1880 case '\\':
1881 if (*p=='<')
1882 { m_t << "&lt;"; p++; }
1883 else if (*p=='>')
1884 { m_t << "&gt;"; p++; }
1885 else if (*p=='(')
1886 { m_t << "\\&zwj;("; p++; }
1887 else if (*p==')')
1888 { m_t << "\\&zwj;)"; p++; }
1889 else
1890 m_t << "\\";
1891 break;
1892 default: m_t << c;
1893 }
1894 }
1895 }
1896}

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

Referenced by docify().

◆ endAnonTypeScope()

void HtmlGenerator::endAnonTypeScope ( int )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 185 of file htmlgen.h.

185{}

◆ endBold()

void HtmlGenerator::endBold ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 216 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endCallGraph()

void HtmlGenerator::endCallGraph ( DotCallGraph & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2467 of file htmlgen.cpp.

2468{
2473
2475
2478}
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:1955
static void startSectionSummary(TextStream &t, int sectionCount)
Definition htmlgen.cpp:1933
static void endSectionContent(TextStream &t)
Definition htmlgen.cpp:1971
static void endSectionHeader(TextStream &t)
Definition htmlgen.cpp:1927
static void endSectionSummary(TextStream &t)
Definition htmlgen.cpp:1945
#define TRUE
Definition qcstring.h:37

References BITMAP, OutputGenerator::dir(), endSectionContent(), endSectionHeader(), endSectionSummary(), OutputGenerator::fileName(), Html, m_relPath, m_sectionCount, OutputGenerator::m_t, startSectionContent(), startSectionSummary(), TRUE, and DotCallGraph::writeGraph().

◆ endCenter()

void HtmlGenerator::endCenter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 234 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endClassDiagram()

void HtmlGenerator::endClassDiagram ( const ClassDiagram & d,
const QCString & fileName,
const QCString & name )
overridevirtual

Implements OutputGenIntf.

Definition at line 1984 of file htmlgen.cpp.

1986{
1991 TextStream tt;
1993 if (!tt.empty())
1994 {
1995 m_t << " <div class=\"center\">\n";
1996 m_t << " <img src=\"";
1997 m_t << m_relPath << fileName << ".png\" usemap=\"#" << convertToId(name);
1998 m_t << "_map\" alt=\"\"/>\n";
1999 m_t << " <map id=\"" << convertToId(name);
2000 m_t << "_map\" name=\"" << convertToId(name);
2001 m_t << "_map\">\n";
2002 m_t << tt.str();
2003 m_t << " </map>\n";
2004 m_t << "</div>";
2005 }
2006 else
2007 {
2008 m_t << " <div class=\"center\">\n";
2009 m_t << " <img src=\"";
2010 m_t << m_relPath << fileName << ".png\" alt=\"\"/>\n";
2011 m_t << " </div>";
2012 }
2015}
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:4381

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

2084{
2085 m_t << "</div>";
2086}

References OutputGenerator::m_t.

◆ endConstraintDocs()

void HtmlGenerator::endConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3318 of file htmlgen.cpp.

3319{
3320 m_t << "</td></tr>\n";
3321}

References OutputGenerator::m_t.

◆ endConstraintList()

void HtmlGenerator::endConstraintList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3323 of file htmlgen.cpp.

3324{
3325 m_t << "</table>\n";
3326 m_t << "</dd>\n";
3327 m_t << "</dl>\n";
3328 m_t << "</div>\n";
3329}

References OutputGenerator::m_t.

◆ endConstraintParam()

void HtmlGenerator::endConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3298 of file htmlgen.cpp.

3299{
3300 m_t << "</em></td>";
3301}

References OutputGenerator::m_t.

◆ endConstraintType()

void HtmlGenerator::endConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3308 of file htmlgen.cpp.

3309{
3310 m_t << "</em></td>";
3311}

References OutputGenerator::m_t.

◆ endContents()

void HtmlGenerator::endContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3058 of file htmlgen.cpp.

3059{
3060 m_t << "</div><!-- contents -->\n";
3061}

References OutputGenerator::m_t.

◆ endDescForItem()

void HtmlGenerator::endDescForItem ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 218 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endDescTable()

void HtmlGenerator::endDescTable ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2561 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ endDescTableData()

void HtmlGenerator::endDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2601 of file htmlgen.cpp.

2602{
2603 m_t << "</td>";
2604}

References OutputGenerator::m_t.

◆ endDescTableInit()

void HtmlGenerator::endDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2591 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ endDescTableRow()

void HtmlGenerator::endDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2571 of file htmlgen.cpp.

2572{
2573 m_t << "</tr>\n";
2574}

References OutputGenerator::m_t.

◆ endDescTableTitle()

void HtmlGenerator::endDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2581 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ endDirDepGraph()

void HtmlGenerator::endDirDepGraph ( DotDirDeps & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2485 of file htmlgen.cpp.

2486{
2491
2493
2496}
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 2397 of file htmlgen.cpp.

2398{
2399 bool generateLegend = Config_getBool(GENERATE_LEGEND);
2400 bool umlLook = Config_getBool(UML_LOOK);
2405
2407 if (generateLegend && !umlLook)
2408 {
2409 QCString url = m_relPath+"graph_legend"+Doxygen::htmlFileExtension;
2410 m_t << "<center><span class=\"legend\">[";
2411 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
2412 m_t << "<a ";
2413 if (generateTreeView) m_t << "target=\"top\" ";
2414 m_t << "href=\"";
2415 if (!url.isEmpty()) m_t << url;
2416 m_t << "\">";
2418 m_t << "</a>";
2419 m_t << "]</span></center>";
2420 }
2421
2424}
QCString writeGraph(TextStream &t, GraphOutputFormat gf, EmbeddedOutputFormat ef, const QCString &path, const QCString &fileName, const QCString &relPath, bool TBRank=TRUE, bool imageMap=TRUE, int graphId=-1)
static QCString htmlFileExtension
Definition doxygen.h:122
bool isEmpty() const
Returns TRUE iff the string is empty.
Definition qcstring.h:150
virtual QCString trLegend()=0
#define Config_getBool(name)
Definition config.h:33
Translator * theTranslator
Definition language.cpp:71

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

◆ endDoxyAnchor()

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

Implements OutputGenIntf.

Definition at line 1665 of file htmlgen.cpp.

1666{
1667}

◆ endEmphasis()

void HtmlGenerator::endEmphasis ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 214 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endExamples()

void HtmlGenerator::endExamples ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2613 of file htmlgen.cpp.

2614{
2615 m_t << "</dl>\n";
2616}

References OutputGenerator::m_t.

◆ endFile()

void HtmlGenerator::endFile ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1571 of file htmlgen.cpp.

1572{
1573 endPlainFile();
1574}
void endPlainFile() override
Definition htmlgen.h:330

References endPlainFile().

◆ endGroupCollaboration()

void HtmlGenerator::endGroupCollaboration ( DotGroupCollaboration & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2449 of file htmlgen.cpp.

2450{
2455
2457
2460}
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 1813 of file htmlgen.cpp.

1814{
1815 if (extraIndentLevel==2)
1816 {
1817 m_t << "</h4>\n";
1818 }
1819 else if (extraIndentLevel==1)
1820 {
1821 m_t << "</h3>\n";
1822 }
1823 else
1824 {
1825 m_t << "</h2>\n";
1826 }
1827}

References OutputGenerator::m_t.

◆ endHeaderSection()

void HtmlGenerator::endHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3360 of file htmlgen.cpp.

3361{
3362 m_t << "</div><!--header-->\n";
3363}

References OutputGenerator::m_t.

◆ endInclDepGraph()

void HtmlGenerator::endInclDepGraph ( DotInclDepGraph & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2431 of file htmlgen.cpp.

2432{
2437
2439
2442}
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 2538 of file htmlgen.cpp.

2539{
2540 DBG_HTML(m_t << "<!-- endIndent -->\n";)
2541 m_t << "\n</div>\n" << "</div>\n";
2542}
#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 1731 of file htmlgen.cpp.

1732{
1733 //printf("HtmlGenerator::endIndexItem(%s,%s,%s)\n",ref,f,name);
1734 if (!ref.isEmpty() || !f.isEmpty())
1735 {
1736 m_t << "</a>";
1737 }
1738 else
1739 {
1740 m_t << "</b>";
1741 }
1742}

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

◆ endIndexKey()

void HtmlGenerator::endIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2201 of file htmlgen.cpp.

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

◆ endIndexList()

void HtmlGenerator::endIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2191 of file htmlgen.cpp.

2192{
2193 m_t << "</table>\n";
2194}

References OutputGenerator::m_t.

◆ endIndexListItem()

void HtmlGenerator::endIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1696 of file htmlgen.cpp.

1697{
1698 m_t << "</li>\n";
1699}

References OutputGenerator::m_t.

◆ endIndexSection()

void HtmlGenerator::endIndexSection ( IndexSection )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 133 of file htmlgen.h.

133{}

◆ endIndexValue()

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

Implements OutputGenIntf.

Definition at line 2211 of file htmlgen.cpp.

2212{
2213 //m_t << "</td></tr>\n";
2214}

◆ endInlineHeader()

void HtmlGenerator::endInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3375 of file htmlgen.cpp.

3376{
3377 m_t << "</h3></td></tr>\n";
3378}

References OutputGenerator::m_t.

◆ endInlineMemberDoc()

void HtmlGenerator::endInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3425 of file htmlgen.cpp.

3426{
3427 DBG_HTML(m_t << "<!-- endInlineMemberDoc -->\n";)
3428 m_t << "</td></tr>\n";
3429}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberName()

void HtmlGenerator::endInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3413 of file htmlgen.cpp.

3414{
3415 DBG_HTML(m_t << "<!-- endInlineMemberName -->\n";)
3416 m_t << "</td>\n";
3417}

References DBG_HTML, and OutputGenerator::m_t.

◆ endInlineMemberType()

void HtmlGenerator::endInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3401 of file htmlgen.cpp.

3402{
3403 DBG_HTML(m_t << "<!-- endInlineMemberType -->\n";)
3404 m_t << "</td>\n";
3405}

References DBG_HTML, and OutputGenerator::m_t.

◆ endItemList()

void HtmlGenerator::endItemList ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 153 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endItemListItem()

void HtmlGenerator::endItemListItem ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 168 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endLabels()

void HtmlGenerator::endLabels ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3477 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDeclaration()

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

Implements OutputGenIntf.

Definition at line 3541 of file htmlgen.cpp.

3542{
3543 m_t << "<tr class=\"separator:" << anchor;
3544 if (!inheritId.isEmpty())
3545 {
3546 m_t << " inherit " << inheritId;
3547 }
3548 m_t << "\"><td class=\"memSeparator\" colspan=\"2\">&#160;</td></tr>\n";
3549}

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

◆ endMemberDescription()

void HtmlGenerator::endMemberDescription ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2125 of file htmlgen.cpp.

2126{
2127 DBG_HTML(m_t << "<!-- endMemberDescription -->\n")
2128 m_t << "<br /></td></tr>\n";
2129}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDoc()

void HtmlGenerator::endMemberDoc ( bool hasArgs)
overridevirtual

Implements OutputGenIntf.

Definition at line 2381 of file htmlgen.cpp.

2382{
2383 DBG_HTML(m_t << "<!-- endMemberDoc -->\n";)
2384 if (!hasArgs)
2385 {
2386 m_t << " </tr>\n";
2387 }
2388 m_t << " </table>\n";
2389 // m_t << "</div>\n";
2390}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocList()

void HtmlGenerator::endMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2221 of file htmlgen.cpp.

2222{
2223 DBG_HTML(m_t << "<!-- endMemberDocList -->\n";)
2224}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocName()

void HtmlGenerator::endMemberDocName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2265 of file htmlgen.cpp.

2266{
2267 DBG_HTML(m_t << "<!-- endMemberDocName -->\n";)
2268 m_t << "</td>\n";
2269}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocPrefixItem()

void HtmlGenerator::endMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2249 of file htmlgen.cpp.

2250{
2251 DBG_HTML(m_t << "<!-- endMemberDocPrefixItem -->\n";)
2252 m_t << "</div>\n";
2253}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberDocSimple()

void HtmlGenerator::endMemberDocSimple ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 3389 of file htmlgen.cpp.

3390{
3391 DBG_HTML(m_t << "<!-- endMemberDocSimple -->\n";)
3392 m_t << "</table>\n";
3393}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberGroup()

void HtmlGenerator::endMemberGroup ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2527 of file htmlgen.cpp.

2528{
2529}

◆ endMemberGroupDocs()

void HtmlGenerator::endMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2518 of file htmlgen.cpp.

2519{
2520 m_t << "</div></td></tr>\n";
2521}

References OutputGenerator::m_t.

◆ endMemberGroupHeader()

void HtmlGenerator::endMemberGroupHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2508 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ endMemberHeader()

void HtmlGenerator::endMemberHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2168 of file htmlgen.cpp.

2169{
2170 DBG_HTML(m_t << "<!-- endMemberHeader -->\n")
2171 m_t << "</h2></td></tr>\n";
2172}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberItem()

void HtmlGenerator::endMemberItem ( MemberItemType type)
overridevirtual

Implements OutputGenIntf.

Definition at line 2054 of file htmlgen.cpp.

2055{
2057 {
2058 insertMemberAlign(false);
2059 }
2060 m_t << "</td></tr>\n";
2061}
OutputType type() const override
Definition htmlgen.h:121
void insertMemberAlign(bool) override
Definition htmlgen.cpp:2088

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

◆ endMemberList()

void HtmlGenerator::endMemberList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2023 of file htmlgen.cpp.

2024{
2025 DBG_HTML(m_t << "<!-- endMemberList -->\n")
2026}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberSections()

void HtmlGenerator::endMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2139 of file htmlgen.cpp.

2140{
2141 DBG_HTML(m_t << "<!-- endMemberSections -->\n")
2143 {
2144 m_t << "</table>\n";
2145 }
2146}
if(strLen >35 &&floatingIndex >30 &&autoBreak)
Definition util.cpp:949

References DBG_HTML, m_emptySection, and OutputGenerator::m_t.

◆ endMemberSubtitle()

void HtmlGenerator::endMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2180 of file htmlgen.cpp.

2181{
2182 DBG_HTML(m_t << "<!-- endMemberSubtitle -->\n")
2183 m_t << "</td></tr>\n";
2184}

References DBG_HTML, and OutputGenerator::m_t.

◆ endMemberTemplateParams()

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

Implements OutputGenIntf.

Definition at line 2067 of file htmlgen.cpp.

2068{
2069 m_t << "</td></tr>\n";
2070 m_t << "<tr class=\"memitem:" << anchor;
2071 if (!inheritId.isEmpty())
2072 {
2073 m_t << " inherit " << inheritId;
2074 }
2075 m_t << " template\"><td class=\"memItemLeft\" align=\"right\" valign=\"top\">";
2076}

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

◆ endPageDoc()

void HtmlGenerator::endPageDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3068 of file htmlgen.cpp.

3069{
3070 m_t << "</div><!-- PageDoc -->\n";
3071}

References OutputGenerator::m_t.

◆ endPageRef()

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

Implements OutputGenIntf.

Definition at line 248 of file htmlgen.h.

248{}

◆ endParagraph()

void HtmlGenerator::endParagraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1681 of file htmlgen.cpp.

1682{
1683 m_t << "</p>\n";
1684}

References OutputGenerator::m_t.

◆ endParameterDefVal()

void HtmlGenerator::endParameterDefVal ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2350 of file htmlgen.cpp.

2351{
2352 m_t << "</span>";
2353}

References OutputGenerator::m_t.

◆ endParameterExtra()

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

Implements OutputGenIntf.

Definition at line 2319 of file htmlgen.cpp.

2320{
2321 DBG_HTML(m_t << "<!-- endParameterExtra -->\n";)
2322 if (last)
2323 {
2324 if (emptyList)
2325 {
2326 if (closeBracket) m_t << "</td><td>)";
2327 m_t << "</td>\n";
2328 m_t << " <td>";
2329 }
2330 else
2331 {
2332 m_t << "&#160;";
2333 if (closeBracket) m_t << ")";
2334 }
2335 }
2336 else
2337 {
2338 m_t << "</td>\n";
2339 m_t << " </tr>\n";
2340 }
2341}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterList()

void HtmlGenerator::endParameterList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2355 of file htmlgen.cpp.

2356{
2357 DBG_HTML(m_t << "<!-- endParameterList -->\n";)
2358 m_t << "</td>\n";
2359 m_t << " </tr>\n";
2360}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterName()

void HtmlGenerator::endParameterName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2308 of file htmlgen.cpp.

2309{
2310 DBG_HTML(m_t << "<!-- endParameterName -->\n";)
2311 m_t << "</em></span>";
2312}

References DBG_HTML, and OutputGenerator::m_t.

◆ endParameterType()

void HtmlGenerator::endParameterType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2296 of file htmlgen.cpp.

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

References DBG_HTML, and OutputGenerator::m_t.

◆ endPlainFile()

void HtmlGenerator::endPlainFile ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 330 of file htmlgen.h.

References OutputGenerator::endPlainFile().

Referenced by endFile(), and writeStyleInfo().

◆ endProjectNumber()

void HtmlGenerator::endProjectNumber ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1581 of file htmlgen.cpp.

1582{
1583 m_t << "</h3>";
1584}

References OutputGenerator::m_t.

◆ endQuickIndices()

void HtmlGenerator::endQuickIndices ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2986 of file htmlgen.cpp.

2987{
2988 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
2989 m_t << "</div><!-- top -->\n";
2990 if (!generateTreeView)
2991 {
2992 m_t << "<div id=\"doc-content\">\n";
2993 }
2994}

References Config_getBool, and OutputGenerator::m_t.

◆ endSection()

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

Implements OutputGenIntf.

Definition at line 1845 of file htmlgen.cpp.

1846{
1847 switch(type.level())
1848 {
1849 case SectionType::Page: m_t << "</h1>"; break;
1850 case SectionType::Section: m_t << "</h2>"; break;
1851 case SectionType::Subsection: m_t << "</h3>"; break;
1852 case SectionType::Subsubsection: m_t << "</h4>"; break;
1853 case SectionType::Paragraph: m_t << "</h5>"; break;
1854 case SectionType::Subparagraph: m_t << "</h6>"; break;
1855 case SectionType::Subsubparagraph: m_t << "</h6>"; break;
1856 default: ASSERT(0); break;
1857 }
1858}
static constexpr int Section
Definition section.h:33
static constexpr int Subsection
Definition section.h:34
static constexpr int Subsubsection
Definition section.h:35
static constexpr int Page
Definition section.h:31
static constexpr int Paragraph
Definition section.h:36
static constexpr int Subsubparagraph
Definition section.h:38
static constexpr int Subparagraph
Definition section.h:37
#define ASSERT(x)
Definition qcstring.h:39

References ASSERT, OutputGenerator::m_t, SectionType::Page, SectionType::Paragraph, SectionType::Section, SectionType::Subparagraph, SectionType::Subsection, SectionType::Subsubparagraph, SectionType::Subsubsection, and type().

◆ endSmall()

void HtmlGenerator::endSmall ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 236 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endTextBlock()

void HtmlGenerator::endTextBlock ( bool )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 286 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ endTextLink()

void HtmlGenerator::endTextLink ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1792 of file htmlgen.cpp.

1793{
1794 m_t << "</a>";
1795}

References OutputGenerator::m_t.

◆ endTitle()

void HtmlGenerator::endTitle ( )
inlineprivate

Definition at line 334 of file htmlgen.h.

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

References OutputGenerator::m_t.

Referenced by endTitleHead().

◆ endTitleHead()

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

Implements OutputGenIntf.

Definition at line 3354 of file htmlgen.cpp.

3355{
3356 endTitle();
3357 m_t << "</div>\n";
3358}
void endTitle()
Definition htmlgen.h:334

References endTitle(), and OutputGenerator::m_t.

◆ endTypewriter()

void HtmlGenerator::endTypewriter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 164 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ exceptionEntry()

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

Implements OutputGenIntf.

Definition at line 2362 of file htmlgen.cpp.

2363{
2364 DBG_HTML(m_t << "<!-- exceptionEntry -->\n";)
2365 if (!closeBracket)
2366 {
2367 m_t << "</td>\n";
2368 m_t << " </tr>\n";
2369 m_t << " <tr>\n";
2370 m_t << " <td align=\"right\">";
2371 }
2372 // colspan 2 so it gets both parameter type and parameter name columns
2373 if (!prefix.isEmpty())
2374 m_t << prefix << "</td><td>(</td><td colspan=\"2\">";
2375 else if (closeBracket)
2376 m_t << "&#160;)</td><td></td><td></td><td>";
2377 else
2378 m_t << "</td><td></td><td colspan=\"2\">";
2379}
constexpr auto prefix
Definition anchor.cpp:44

References DBG_HTML, OutputGenerator::m_t, and prefix.

◆ getMathJaxMacros()

QCString HtmlGenerator::getMathJaxMacros ( )
static

Definition at line 3551 of file htmlgen.cpp.

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

References getConvertLatexMacro().

◆ getNavTreeCss()

QCString HtmlGenerator::getNavTreeCss ( )
static

Definition at line 3556 of file htmlgen.cpp.

3557{
3558 ResourceMgr &mgr = ResourceMgr::instance();
3559 return replaceVariables(mgr.getAsString("navtree.css"));
3560}
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:672

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

Referenced by init().

◆ init()

void HtmlGenerator::init ( )
static

Definition at line 1140 of file htmlgen.cpp.

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

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

Referenced by generateOutput().

◆ insertMemberAlign()

void HtmlGenerator::insertMemberAlign ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2088 of file htmlgen.cpp.

2089{
2090 DBG_HTML(m_t << "<!-- insertMemberAlign -->\n")
2091 m_t << "&#160;</td><td class=\"memItemRight\" valign=\"bottom\">";
2092}

References DBG_HTML, and OutputGenerator::m_t.

Referenced by endMemberItem().

◆ insertMemberAlignLeft()

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

Implements OutputGenIntf.

Definition at line 2094 of file htmlgen.cpp.

2095{
2096 if (!initTag) m_t << "&#160;</td>";
2097 switch (type)
2098 {
2099 case MemberItemType::Normal: m_t << "<td class=\"memItemLeft\" align=\"right\" valign=\"top\">"; break;
2100 case MemberItemType::AnonymousStart: m_t << "<td class=\"memItemLeft anon\">"; break;
2101 case MemberItemType::AnonymousEnd: m_t << "<td class=\"memItemLeft anonEnd\" valign=\"top\">"; break;
2102 case MemberItemType::Templated: m_t << "<td class=\"memTemplParams\" colspan=\"2\">"; break;
2103 }
2104}

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

287{}

◆ lineBreak()

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

Implements OutputGenIntf.

Definition at line 3331 of file htmlgen.cpp.

3332{
3333 if (!style.isEmpty())
3334 {
3335 m_t << "<br class=\"" << style << "\" />\n";
3336 }
3337 else
3338 {
3339 m_t << "<br />\n";
3340 }
3341}

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

◆ operator=() [1/2]

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

Definition at line 1115 of file htmlgen.cpp.

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

References Html, HtmlGenerator(), m_codeGen, m_codeList, OutputGenerator::m_dir, m_emptySection, m_lastFile, m_lastTitle, m_relPath, m_sectionCount, and OutputGenerator::m_t.

◆ operator=() [2/2]

HtmlGenerator & HtmlGenerator::operator= ( HtmlGenerator && )
delete

References HtmlGenerator().

◆ startAnonTypeScope()

void HtmlGenerator::startAnonTypeScope ( int )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 184 of file htmlgen.h.

184{}

◆ startBold()

void HtmlGenerator::startBold ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 215 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startCallGraph()

void HtmlGenerator::startCallGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2462 of file htmlgen.cpp.

2463{
2465}
static void startSectionHeader(TextStream &t, const QCString &relPath, int sectionCount)
Definition htmlgen.cpp:1908

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

◆ startCenter()

void HtmlGenerator::startCenter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 233 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startClassDiagram()

void HtmlGenerator::startClassDiagram ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1979 of file htmlgen.cpp.

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

◆ startCompoundTemplateParams()

void HtmlGenerator::startCompoundTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2078 of file htmlgen.cpp.

2079{
2080 m_t << "<div class=\"compoundTemplParams\">";
2081}

References OutputGenerator::m_t.

◆ startConstraintDocs()

void HtmlGenerator::startConstraintDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3313 of file htmlgen.cpp.

3314{
3315 m_t << "<td>&#160;";
3316}

References OutputGenerator::m_t.

◆ startConstraintList()

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

Implements OutputGenIntf.

Definition at line 3286 of file htmlgen.cpp.

3287{
3288 m_t << "<div class=\"typeconstraint\">\n";
3289 m_t << "<dl><dt><b>" << header << "</b></dt><dd>\n";
3290 m_t << "<table border=\"0\" cellspacing=\"2\" cellpadding=\"0\">\n";
3291}

References OutputGenerator::m_t.

◆ startConstraintParam()

void HtmlGenerator::startConstraintParam ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3293 of file htmlgen.cpp.

3294{
3295 m_t << "<tr><td valign=\"top\"><em>";
3296}

References OutputGenerator::m_t.

◆ startConstraintType()

void HtmlGenerator::startConstraintType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3303 of file htmlgen.cpp.

3304{
3305 m_t << "<td>&#160;:</td><td valign=\"top\"><em>";
3306}

References OutputGenerator::m_t.

◆ startContents()

void HtmlGenerator::startContents ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3053 of file htmlgen.cpp.

3054{
3055 m_t << "<div class=\"contents\">\n";
3056}

References OutputGenerator::m_t.

◆ startDescForItem()

void HtmlGenerator::startDescForItem ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 217 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startDescTable()

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

Implements OutputGenIntf.

Definition at line 2556 of file htmlgen.cpp.

2557{
2558 m_t << "<table class=\"fieldtable\">\n"
2559 << "<tr><th colspan=\"" << (hasInits?3:2) << "\">" << title << "</th></tr>";
2560}

References OutputGenerator::m_t.

◆ startDescTableData()

void HtmlGenerator::startDescTableData ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2596 of file htmlgen.cpp.

2597{
2598 m_t << "<td class=\"fielddoc\">";
2599}

References OutputGenerator::m_t.

◆ startDescTableInit()

void HtmlGenerator::startDescTableInit ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2586 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ startDescTableRow()

void HtmlGenerator::startDescTableRow ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2566 of file htmlgen.cpp.

2567{
2568 m_t << "<tr>";
2569}

References OutputGenerator::m_t.

◆ startDescTableTitle()

void HtmlGenerator::startDescTableTitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2576 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ startDirDepGraph()

void HtmlGenerator::startDirDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2480 of file htmlgen.cpp.

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

◆ startDotGraph()

void HtmlGenerator::startDotGraph ( )
overridevirtual

Implements OutputGenIntf.

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

1661{
1662 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>";
1663}

References OutputGenerator::m_t.

◆ startEmphasis()

void HtmlGenerator::startEmphasis ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 213 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startExamples()

void HtmlGenerator::startExamples ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2606 of file htmlgen.cpp.

2607{
2608 m_t << "<dl class=\"section examples\"><dt>";
2610 m_t << "</dt>";
2611}
void docify(const QCString &text) override
Definition htmlgen.cpp:1860
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 1445 of file htmlgen.cpp.

1447{
1448 //printf("HtmlGenerator::startFile(%s)\n",qPrint(name));
1450 QCString fileName = name;
1452 m_lastTitle=title;
1453
1455 m_codeGen->setFileName(fileName);
1456 m_codeGen->setRelativePath(m_relPath);
1457 {
1458 std::lock_guard<std::mutex> lock(g_indexLock);
1460 }
1461
1464
1465 m_t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
1466 << getDoxygenVersion() << " -->\n";
1467 bool searchEngine = Config_getBool(SEARCHENGINE);
1468 if (searchEngine /*&& !generateTreeView*/)
1469 {
1470 m_t << "<script type=\"text/javascript\">\n";
1471 m_t << "/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */\n";
1472 m_t << "var searchBox = new SearchBox(\"searchBox\", \""
1473 << m_relPath<< "search/\",'" << Doxygen::htmlFileExtension << "');\n";
1474 m_t << "/* @license-end */\n";
1475 m_t << "</script>\n";
1476 }
1477 if (Config_getBool(HTML_CODE_FOLDING))
1478 {
1479 m_t << "<script type=\"text/javascript\">\n";
1480 m_t << "/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */\n";
1481 m_t << "$(function() { codefold.init(); });\n";
1482 m_t << "/* @license-end */\n";
1483 m_t << "</script>\n";
1484 }
1486}
static IndexList * indexList
Definition doxygen.h:134
void startPlainFile(const QCString &name) override
Definition htmlgen.h:329
void addIndexFile(const QCString &name)
Definition indexlist.h:123
virtual QCString trGeneratedBy()=0
static std::mutex g_indexLock
Definition htmlgen.cpp:1443
QCString convertToHtml(const QCString &s, bool keepEntities)
Definition util.cpp:4472
QCString relativePathToRoot(const QCString &name)
Definition util.cpp:4088
QCString filterTitle(const QCString &title)
Definition util.cpp:6086
void addHtmlExtensionIfMissing(QCString &fName)
Definition util.cpp:5408

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

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

◆ startGroupHeader()

void HtmlGenerator::startGroupHeader ( int extraIndentLevel)
overridevirtual

Implements OutputGenIntf.

Definition at line 1797 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ startHeaderSection()

void HtmlGenerator::startHeaderSection ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3343 of file htmlgen.cpp.

3344{
3345 m_t << "<div class=\"header\">\n";
3346}

References OutputGenerator::m_t.

◆ startInclDepGraph()

void HtmlGenerator::startInclDepGraph ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2426 of file htmlgen.cpp.

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

◆ startIndent()

void HtmlGenerator::startIndent ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2531 of file htmlgen.cpp.

2532{
2533 DBG_HTML(m_t << "<!-- startIndent -->\n";)
2534
2535 m_t << "<div class=\"memdoc\">\n";
2536}

References DBG_HTML, and OutputGenerator::m_t.

◆ startIndexItem()

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

Implements OutputGenIntf.

Definition at line 1701 of file htmlgen.cpp.

1702{
1703 //printf("HtmlGenerator::startIndexItem(%s,%s)\n",ref,f);
1704 if (!ref.isEmpty() || !f.isEmpty())
1705 {
1706 if (!ref.isEmpty())
1707 {
1708 m_t << "<a class=\"elRef\" ";
1710 }
1711 else
1712 {
1713 m_t << "<a class=\"el\" ";
1714 }
1715 m_t << "href=\"";
1716 m_t << externalRef(m_relPath,ref,TRUE);
1717 if (!f.isEmpty())
1718 {
1719 QCString fn=f;
1721 m_t << fn;
1722 }
1723 m_t << "\">";
1724 }
1725 else
1726 {
1727 m_t << "<b>";
1728 }
1729}
QCString externalRef(const QCString &relPath, const QCString &ref, bool href)
Definition util.cpp:6231
QCString externalLinkTarget(const bool parent)
Definition util.cpp:6187

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

◆ startIndexKey()

void HtmlGenerator::startIndexKey ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2196 of file htmlgen.cpp.

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

◆ startIndexList()

void HtmlGenerator::startIndexList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2186 of file htmlgen.cpp.

2187{
2188 m_t << "<table>\n";
2189}

References OutputGenerator::m_t.

◆ startIndexListItem()

void HtmlGenerator::startIndexListItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1691 of file htmlgen.cpp.

1692{
1693 m_t << "<li>";
1694}

References OutputGenerator::m_t.

◆ startIndexSection()

void HtmlGenerator::startIndexSection ( IndexSection )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 132 of file htmlgen.h.

132{}

◆ startIndexValue()

void HtmlGenerator::startIndexValue ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2206 of file htmlgen.cpp.

2207{
2208 //m_t << "<td class=\"indexvalue\">";
2209}

◆ startInlineHeader()

void HtmlGenerator::startInlineHeader ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3365 of file htmlgen.cpp.

3366{
3367 if (m_emptySection)
3368 {
3369 m_t << "<table class=\"memberdecls\">\n";
3371 }
3372 m_t << "<tr><td colspan=\"2\"><h3>";
3373}

References FALSE, m_emptySection, and OutputGenerator::m_t.

◆ startInlineMemberDoc()

void HtmlGenerator::startInlineMemberDoc ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3419 of file htmlgen.cpp.

3420{
3421 DBG_HTML(m_t << "<!-- startInlineMemberDoc -->\n";)
3422 m_t << "<td class=\"fielddoc\">\n";
3423}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberName()

void HtmlGenerator::startInlineMemberName ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3407 of file htmlgen.cpp.

3408{
3409 DBG_HTML(m_t << "<!-- startInlineMemberName -->\n";)
3410 m_t << "<td class=\"fieldname\">\n";
3411}

References DBG_HTML, and OutputGenerator::m_t.

◆ startInlineMemberType()

void HtmlGenerator::startInlineMemberType ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3395 of file htmlgen.cpp.

3396{
3397 DBG_HTML(m_t << "<!-- startInlineMemberType -->\n";)
3398 m_t << "<tr><td class=\"fieldtype\">\n";
3399}

References DBG_HTML, and OutputGenerator::m_t.

◆ startItemList()

void HtmlGenerator::startItemList ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 152 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startItemListItem()

void HtmlGenerator::startItemListItem ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 167 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startLabels()

void HtmlGenerator::startLabels ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 3431 of file htmlgen.cpp.

3432{
3433 DBG_HTML(m_t << "<!-- startLabels -->\n";)
3434 m_t << "<span class=\"mlabels\">";
3435}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDeclaration()

void HtmlGenerator::startMemberDeclaration ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 204 of file htmlgen.h.

204{}

◆ startMemberDescription()

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

Implements OutputGenIntf.

Definition at line 2106 of file htmlgen.cpp.

2107{
2108 DBG_HTML(m_t << "<!-- startMemberDescription -->\n")
2110 {
2111 m_t << "<table class=\"memberdecls\">\n";
2113 }
2114 m_t << "<tr class=\"memdesc:" << anchor;
2115 if (!inheritId.isEmpty())
2116 {
2117 m_t << " inherit " << inheritId;
2118 }
2119 m_t << "\">";
2120 m_t << "<td class=\"mdescLeft\">&#160;</td>";
2121 if (typ) m_t << "<td class=\"mdescLeft\">&#160;</td>";
2122 m_t << "<td class=\"mdescRight\">";
2123}

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

2229{
2230 DBG_HTML(m_t << "<!-- startMemberDoc -->\n";)
2231 m_t << "\n<h2 class=\"memtitle\">"
2232 << "<span class=\"permalink\"><a href=\"#" << anchor << "\">&#9670;&#160;</a></span>";
2233 docify(title);
2234 if (memTotal>1)
2235 {
2236 m_t << " <span class=\"overload\">[" << memCount << "/" << memTotal <<"]</span>";
2237 }
2238 m_t << "</h2>\n";
2239 m_t << "\n<div class=\"memitem\">\n";
2240 m_t << "<div class=\"memproto\">\n";
2241}

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

◆ startMemberDocList()

void HtmlGenerator::startMemberDocList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2216 of file htmlgen.cpp.

2217{
2218 DBG_HTML(m_t << "<!-- startMemberDocList -->\n";)
2219}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocName()

void HtmlGenerator::startMemberDocName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2255 of file htmlgen.cpp.

2256{
2257 DBG_HTML(m_t << "<!-- startMemberDocName -->\n";)
2258
2259 m_t << " <table class=\"memname\">\n";
2260
2261 m_t << " <tr>\n";
2262 m_t << " <td class=\"memname\">";
2263}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocPrefixItem()

void HtmlGenerator::startMemberDocPrefixItem ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2243 of file htmlgen.cpp.

2244{
2245 DBG_HTML(m_t << "<!-- startMemberDocPrefixItem -->\n";)
2246 m_t << "<div class=\"memtemplate\">\n";
2247}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberDocSimple()

void HtmlGenerator::startMemberDocSimple ( bool isEnum)
overridevirtual

Implements OutputGenIntf.

Definition at line 3380 of file htmlgen.cpp.

3381{
3382 DBG_HTML(m_t << "<!-- startMemberDocSimple -->\n";)
3383 m_t << "<table class=\"fieldtable\">\n";
3384 m_t << "<tr><th colspan=\"" << (isEnum?"2":"3") << "\">";
3385 m_t << (isEnum? theTranslator->trEnumerationValues() :
3386 theTranslator->trCompoundMembers()) << "</th></tr>\n";
3387}
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 2523 of file htmlgen.cpp.

2524{
2525}

◆ startMemberGroupDocs()

void HtmlGenerator::startMemberGroupDocs ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2513 of file htmlgen.cpp.

2514{
2515 m_t << "<tr><td colspan=\"2\"><div class=\"groupText\">";
2516}

References OutputGenerator::m_t.

◆ startMemberGroupHeader()

void HtmlGenerator::startMemberGroupHeader ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2503 of file htmlgen.cpp.

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

References OutputGenerator::m_t.

◆ startMemberHeader()

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

Implements OutputGenIntf.

Definition at line 2148 of file htmlgen.cpp.

2149{
2150 DBG_HTML(m_t << "<!-- startMemberHeader -->\n")
2152 {
2153 m_t << "</table>";
2155 }
2156 if (m_emptySection)
2157 {
2158 m_t << "<table class=\"memberdecls\">\n";
2160 }
2161 m_t << "<tr class=\"heading\"><td colspan=\"" << typ << "\"><h2 class=\"groupheader\">";
2162 if (!anchor.isEmpty())
2163 {
2164 m_t << "<a id=\"" << anchor << "\" name=\"" << anchor << "\"></a>\n";
2165 }
2166}

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

2033{
2034 DBG_HTML(m_t << "<!-- startMemberItem() -->\n")
2036 {
2037 m_t << "<table class=\"memberdecls\">\n";
2039 }
2040 m_t << "<tr class=\"memitem:" << anchor;
2041 if (!inheritId.isEmpty())
2042 {
2043 m_t << " inherit " << inheritId;
2044 }
2045 m_t << "\"";
2046 if (!anchor.isEmpty())
2047 {
2048 m_t << " id=\"r_" << anchor << "\"";
2049 }
2050 m_t << ">";
2052}
void insertMemberAlignLeft(MemberItemType, bool) override
Definition htmlgen.cpp:2094

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

◆ startMemberList()

void HtmlGenerator::startMemberList ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2018 of file htmlgen.cpp.

2019{
2020 DBG_HTML(m_t << "<!-- startMemberList -->\n")
2021}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberSections()

void HtmlGenerator::startMemberSections ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2131 of file htmlgen.cpp.

2132{
2133 DBG_HTML(m_t << "<!-- startMemberSections -->\n")
2134 m_emptySection=TRUE; // we postpone writing <table> until we actually
2135 // write a row to prevent empty tables, which
2136 // are not valid XHTML!
2137}

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

◆ startMemberSubtitle()

void HtmlGenerator::startMemberSubtitle ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2174 of file htmlgen.cpp.

2175{
2176 DBG_HTML(m_t << "<!-- startMemberSubtitle -->\n")
2177 m_t << "<tr><td class=\"ititle\" colspan=\"2\">";
2178}

References DBG_HTML, and OutputGenerator::m_t.

◆ startMemberTemplateParams()

void HtmlGenerator::startMemberTemplateParams ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2063 of file htmlgen.cpp.

2064{
2065}

◆ startPageDoc()

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

Implements OutputGenIntf.

Definition at line 3063 of file htmlgen.cpp.

3064{
3065 m_t << "<div>";
3066}

References OutputGenerator::m_t.

◆ startPageRef()

void HtmlGenerator::startPageRef ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 247 of file htmlgen.h.

247{}

◆ startParagraph()

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

Implements OutputGenIntf.

Definition at line 1673 of file htmlgen.cpp.

1674{
1675 if (!classDef.isEmpty())
1676 m_t << "\n<p class=\"" << classDef << "\">";
1677 else
1678 m_t << "\n<p>";
1679}

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

◆ startParameterDefVal()

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

Implements OutputGenIntf.

Definition at line 2343 of file htmlgen.cpp.

2344{
2345 m_t << "<span class=\"paramdefsep\">";
2346 docify(s);
2347 m_t << "</span><span class=\"paramdefval\">";
2348}

References docify(), and OutputGenerator::m_t.

◆ startParameterExtra()

void HtmlGenerator::startParameterExtra ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 2314 of file htmlgen.cpp.

2315{
2316 DBG_HTML(m_t << "<!-- startParameterExtra -->\n";)
2317}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterList()

void HtmlGenerator::startParameterList ( bool openBracket)
overridevirtual

Implements OutputGenIntf.

Definition at line 2271 of file htmlgen.cpp.

2272{
2273 DBG_HTML(m_t << "<!-- startParameterList -->\n";)
2274 m_t << " <td>";
2275 if (openBracket) m_t << "(";
2276 m_t << "</td>\n";
2277}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterName()

void HtmlGenerator::startParameterName ( bool )
overridevirtual

Implements OutputGenIntf.

Definition at line 2302 of file htmlgen.cpp.

2303{
2304 DBG_HTML(m_t << "<!-- startParameterName -->\n";)
2305 m_t << " <td class=\"paramname\"><span class=\"paramname\"><em>";
2306}

References DBG_HTML, and OutputGenerator::m_t.

◆ startParameterType()

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

Implements OutputGenIntf.

Definition at line 2279 of file htmlgen.cpp.

2280{
2281 if (first)
2282 {
2283 DBG_HTML(m_t << "<!-- startFirstParameterType -->\n";)
2284 m_t << " <td class=\"paramtype\">";
2285 }
2286 else
2287 {
2288 DBG_HTML(m_t << "<!-- startParameterType -->\n";)
2289 m_t << " <tr>\n";
2290 m_t << " <td class=\"paramkey\">" << key << "</td>\n";
2291 m_t << " <td></td>\n";
2292 m_t << " <td class=\"paramtype\">";
2293 }
2294}

References DBG_HTML, and OutputGenerator::m_t.

◆ startPlainFile()

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

Implements OutputGenIntf.

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

1577{
1578 m_t << "<h3 class=\"version\">";
1579}

References OutputGenerator::m_t.

◆ startQuickIndices()

void HtmlGenerator::startQuickIndices ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 249 of file htmlgen.h.

249{}

◆ startSection()

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

Implements OutputGenIntf.

Definition at line 1829 of file htmlgen.cpp.

1830{
1831 switch(type.level())
1832 {
1833 case SectionType::Page: m_t << "\n\n<h1>"; break;
1834 case SectionType::Section: m_t << "\n\n<h2>"; break;
1835 case SectionType::Subsection: m_t << "\n\n<h3>"; break;
1836 case SectionType::Subsubsection: m_t << "\n\n<h4>"; break;
1837 case SectionType::Paragraph: m_t << "\n\n<h5>"; break;
1838 case SectionType::Subparagraph: m_t << "\n\n<h6>"; break;
1839 case SectionType::Subsubparagraph: m_t << "\n\n<h6>"; break;
1840 default: ASSERT(0); break;
1841 }
1842 m_t << "<a id=\"" << lab << "\" name=\"" << lab << "\"></a>";
1843}

References ASSERT, OutputGenerator::m_t, SectionType::Page, SectionType::Paragraph, SectionType::Section, SectionType::Subparagraph, SectionType::Subsection, SectionType::Subsubparagraph, SectionType::Subsubsection, and type().

◆ startSmall()

void HtmlGenerator::startSmall ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 235 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ startTextBlock()

void HtmlGenerator::startTextBlock ( bool )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 285 of file htmlgen.h.

285{ 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 1780 of file htmlgen.cpp.

1781{
1782 m_t << "<a href=\"";
1783 QCString fn = f;
1785 m_t << createHtmlUrl(m_relPath,"",true,
1786 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1787 fn,
1788 anchor);
1789 m_t << "\">";
1790}
QCString createHtmlUrl(const QCString &relPath, const QCString &ref, bool href, bool isLocalFile, const QCString &targetFileName, const QCString &anchor)
Definition util.cpp:6198

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

◆ startTitle()

void HtmlGenerator::startTitle ( )
inlineprivate

Definition at line 333 of file htmlgen.h.

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

References OutputGenerator::m_t.

Referenced by startTitleHead().

◆ startTitleHead()

void HtmlGenerator::startTitleHead ( const QCString & )
overridevirtual

Implements OutputGenIntf.

Definition at line 3348 of file htmlgen.cpp.

3349{
3350 m_t << " <div class=\"headertitle\">";
3351 startTitle();
3352}
void startTitle()
Definition htmlgen.h:333

References OutputGenerator::m_t, and startTitle().

◆ startTypewriter()

void HtmlGenerator::startTypewriter ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 163 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ type()

OutputType HtmlGenerator::type ( ) const
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 121 of file htmlgen.h.

121{ return OutputType::Html; }

References Html.

Referenced by endMemberItem(), endSection(), insertMemberAlignLeft(), startMemberItem(), startSection(), and writeLocalToc().

◆ writeAnchor()

void HtmlGenerator::writeAnchor ( const QCString & ,
const QCString & name )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 211 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ writeChar()

void HtmlGenerator::writeChar ( char c)
overridevirtual

Implements OutputGenIntf.

Definition at line 1898 of file htmlgen.cpp.

1899{
1900 char cs[2];
1901 cs[0]=c;
1902 cs[1]=0;
1903 docify(cs);
1904}

References docify().

◆ writeDoc()

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

Implements OutputGenIntf.

Definition at line 2618 of file htmlgen.cpp.

2619{
2620 const DocNodeAST *astImpl = dynamic_cast<const DocNodeAST*>(ast);
2621 if (astImpl)
2622 {
2623 m_codeList->setId(id);
2624 HtmlDocVisitor visitor(m_t,*m_codeList,ctx,fileName());
2625 std::visit(visitor,astImpl->root);
2626 }
2627}
DocNodeVariant root
Definition docnode.h:1481

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

◆ writeExternalSearchPage()

void HtmlGenerator::writeExternalSearchPage ( )
static

Definition at line 3179 of file htmlgen.cpp.

3180{
3181 bool disableIndex = Config_getBool(DISABLE_INDEX);
3182 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3183 bool fullSidebar = Config_getBool(FULL_SIDEBAR);
3184 bool quickLinksAfterSplitbar = !disableIndex && generateTreeView && fullSidebar;
3185 QCString dname = Config_getString(HTML_OUTPUT);
3186 QCString fileName = dname+"/search"+Doxygen::htmlFileExtension;
3187 std::ofstream f = Portable::openOutputStream(fileName);
3188 if (f.is_open())
3189 {
3190 TextStream t(&f);
3192
3193 t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
3194 << getDoxygenVersion() << " -->\n";
3195 t << "<script type=\"text/javascript\">\n";
3196 t << "/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */\n";
3197 t << "var searchBox = new SearchBox(\"searchBox\", \""
3198 << "search/\",'" << Doxygen::htmlFileExtension << "');\n";
3199 t << "/* @license-end */\n";
3200 t << "</script>\n";
3201
3202 if (!disableIndex && !quickLinksAfterSplitbar)
3203 {
3204 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3205 }
3206 if (generateTreeView)
3207 {
3208 t << "</div><!-- top -->\n";
3209 }
3210 t << writeSplitBarAsString("search.php",QCString());
3211 if (quickLinksAfterSplitbar)
3212 {
3213 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3214 }
3215
3216 t << "<div class=\"header\">\n";
3217 t << " <div class=\"headertitle\">\n";
3218 t << " <div class=\"title\">" << theTranslator->trSearchResultsTitle() << "</div>\n";
3219 t << " </div>\n";
3220 t << "</div>\n";
3221 t << "<div class=\"contents\">\n";
3222
3223 t << "<div id=\"searchresults\"></div>\n";
3224 t << "</div>\n";
3225
3226 if (generateTreeView)
3227 {
3228 t << "</div><!-- doc-content -->\n";
3229 }
3230
3231 writePageFooter(t,"Search","","");
3232
3233 }
3234 f.close();
3235
3236 QCString scriptName = dname+"/search/search.js";
3237 f = Portable::openOutputStream(scriptName);
3238 if (f.is_open())
3239 {
3240 TextStream t(&f);
3241 t << "var searchResultsText=["
3242 << "\"" << theTranslator->trSearchResults(0) << "\","
3243 << "\"" << theTranslator->trSearchResults(1) << "\","
3244 << "\"" << theTranslator->trSearchResults(2) << "\"];\n";
3245 t << "var serverUrl=\"" << Config_getString(SEARCHENGINE_URL) << "\";\n";
3246 t << "var tagMap = {\n";
3247 bool first=TRUE;
3248 // add search mappings
3249 const StringVector &extraSearchMappings = Config_getList(EXTRA_SEARCH_MAPPINGS);
3250 for (const auto &ml : extraSearchMappings)
3251 {
3252 QCString mapLine = ml.c_str();
3253 int eqPos = mapLine.find('=');
3254 if (eqPos!=-1) // tag command contains a destination
3255 {
3256 QCString tagName = mapLine.left(eqPos).stripWhiteSpace();
3257 QCString destName = mapLine.right(mapLine.length()-eqPos-1).stripWhiteSpace();
3258 if (!tagName.isEmpty())
3259 {
3260 if (!first) t << ",\n";
3261 t << " \"" << tagName << "\": \"" << destName << "\"";
3262 first=FALSE;
3263 }
3264 }
3265 }
3266 if (!first) t << "\n";
3267 t << "};\n\n";
3268 t << ResourceMgr::instance().getAsString("extsearch.js");
3269 t << "\n";
3270 t << "$(function() {\n";
3271 t << " var query = trim(getURLParameter('query'));\n";
3272 t << " if (query) {\n";
3273 t << " searchFor(query,0,20);\n";
3274 t << " } else {\n";
3275 t << " var results = $('#results');\n";
3276 t << " results.html('<p>" << theTranslator->trSearchResults(0) << "</p>');\n";
3277 t << " }\n";
3278 t << "});\n";
3279 }
3280 else
3281 {
3282 err("Failed to open file '{}' for writing...\n",scriptName);
3283 }
3284}
static QCString writeSplitBarAsString(const QCString &name, const QCString &relpath)
Definition htmlgen.cpp:2996
static void writePageFooter(TextStream &t, const QCString &, const QCString &, const QCString &)
Definition htmlgen.cpp:1560
int find(char c, int index=0, bool cs=TRUE) const
Definition qcstring.cpp:43
size_t length() const
Returns the length of the string, not counting the 0-terminator.
Definition qcstring.h:153
QCString stripWhiteSpace() const
returns a copy of this string with leading and trailing whitespace removed
Definition qcstring.h:245
QCString right(size_t len) const
Definition qcstring.h:219
QCString left(size_t len) const
Definition qcstring.h:214
virtual QCString trSearchResultsTitle()=0
virtual QCString trSearchResults(int numDocuments)=0
#define Config_getList(name)
Definition config.h:38
std::vector< std::string > StringVector
Definition containers.h:33
static void writeDefaultQuickLinks(TextStream &t, HighlightedItem hli, const QCString &file, const QCString &relPath, bool extraTabs)
Definition htmlgen.cpp:2840
#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 1566 of file htmlgen.cpp.

1567{
1569}

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

◆ writeFooterFile()

void HtmlGenerator::writeFooterFile ( TextStream & t)
static

Definition at line 1437 of file htmlgen.cpp.

1438{
1439 t << "<!-- HTML footer for doxygen " << getDoxygenVersion() << "-->\n";
1440 t << ResourceMgr::instance().getAsString("footer.html");
1441}

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

Referenced by readConfiguration().

◆ writeGraphicalHierarchy()

void HtmlGenerator::writeGraphicalHierarchy ( DotGfxHierarchyTable & g)
overridevirtual

Implements OutputGenIntf.

Definition at line 2498 of file htmlgen.cpp.

2499{
2500 g.writeGraph(m_t,dir(),fileName());
2501}
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 1431 of file htmlgen.cpp.

1432{
1433 t << "<!-- HTML header for doxygen " << getDoxygenVersion() << "-->\n";
1434 t << ResourceMgr::instance().getAsString("header.html");
1435}

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

3487{
3488 DBG_HTML(m_t << "<!-- writeInheritedSectionTitle -->\n";)
3489 QCString a = anchor;
3490 if (!a.isEmpty()) a.prepend("#");
3491 QCString classLink = QCString("<a class=\"el\" ");
3492 if (!ref.isEmpty())
3493 {
3494 classLink+= externalLinkTarget();
3495 classLink += " href=\"";
3496 classLink+= externalRef(m_relPath,ref,TRUE);
3497 }
3498 else
3499 {
3500 classLink += "href=\"";
3501 classLink+=m_relPath;
3502 }
3503 QCString fn = file;
3505 classLink=classLink+fn+a;
3506 classLink+=QCString("\">")+convertToHtml(name,FALSE)+"</a>";
3507 m_t << "<tr class=\"inherit_header " << id << "\">"
3508 << "<td colspan=\"2\" onclick=\"javascript:dynsection.toggleInherit('" << id << "')\">"
3509 << "<span class=\"dynarrow\"><span class=\"arrowhead closed\"></span></span>"
3510 << theTranslator->trInheritedFrom(convertToHtml(title,FALSE),classLink)
3511 << "</td></tr>\n";
3512}
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 3437 of file htmlgen.cpp.

3438{
3439 DBG_HTML(m_t << "<!-- writeLabel(" << label << ") -->\n";)
3440
3441 auto convertLabelToClass = [](const std::string &lab) {
3442 QCString input = convertUTF8ToLower(lab);
3443 QCString result;
3444 size_t l=input.length();
3445 result.reserve(l);
3446
3447 // Create valid class selector, see 10.2 here https://www.w3.org/TR/selectors-3/#w3cselgrammar
3448 // ident [-]?{nmstart}{nmchar}*
3449 // nmstart [_a-z]|{nonascii}
3450 // nonascii [^\0-\177]
3451 // nmchar [_a-z0-9-]|{nonascii}
3452
3453 bool nmstart=false;
3454 for (size_t i=0; i<l; i++)
3455 {
3456 char c = input.at(i);
3457 if (c<0 || (c>='a' && c<='z') || c=='_') // nmstart pattern
3458 {
3459 nmstart=true;
3460 result+=c;
3461 }
3462 else if (nmstart && (c<0 || (c>='a' && c<='z') || (c>='0' && c<='9') || c=='_')) // nmchar pattern
3463 {
3464 result+=c;
3465 }
3466 else if (nmstart && (c==' ' || c=='-')) // show whitespace as -
3467 {
3468 result+='-';
3469 }
3470 }
3471 return result;
3472 };
3473
3474 m_t << "<span class=\"mlabel " << convertLabelToClass(label.stripWhiteSpace().str()) << "\">" << label << "</span>";
3475}
char & at(size_t i)
Returns a reference to the character at index i.
Definition qcstring.h:578
void reserve(size_t size)
Reserve space for size bytes without changing the string contents.
Definition qcstring.h:172
std::string convertUTF8ToLower(const std::string &input)
Converts the input string into a lower case version, also taking into account non-ASCII characters th...
Definition utf8.cpp:187

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

◆ writeLatexSpacing()

void HtmlGenerator::writeLatexSpacing ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 230 of file htmlgen.h.

230{}

◆ writeLocalToc()

void HtmlGenerator::writeLocalToc ( const SectionRefs & sr,
const LocalToc & lt )
overridevirtual

Implements OutputGenIntf.

Definition at line 3562 of file htmlgen.cpp.

3563{
3564 if (localToc.isHtmlEnabled())
3565 {
3566 int level=0;
3567 int indent=0;
3568 auto writeIndent = [&]() { for (int i=0;i<indent*2;i++) m_t << " "; };
3569 auto incIndent = [&](const QCString &text) { writeIndent(); m_t << text << "\n"; indent++; };
3570 auto decIndent = [&](const QCString &text) { indent--; writeIndent(); m_t << text << "\n"; };
3571 m_t << "<div class=\"toc\">";
3572 m_t << "<h3>" << theTranslator->trRTFTableOfContents() << "</h3>\n";
3573 int maxLevel = localToc.htmlLevel();
3574 char cs[2];
3575 cs[1]='\0';
3576 BoolVector inLi(maxLevel+1,false);
3577 for (const SectionInfo *si : sectionRefs)
3578 {
3579 //printf("Section: label=%s type=%d isSection()=%d\n",qPrint(si->label()),si->type(),isSection(si->type()));
3580 SectionType type = si->type();
3581 if (type.isSection())
3582 {
3583 //printf(" level=%d title=%s maxLevel=%d\n",level,qPrint(si->title()),maxLevel);
3584 int nextLevel = type.level();
3585 if (nextLevel>level)
3586 {
3587 for (int l=level;l<nextLevel;l++)
3588 {
3589 if (l < maxLevel)
3590 {
3591 incIndent("<ul>");
3592 cs[0]=static_cast<char>('0'+l+1);
3593 const char *empty = (l!=nextLevel-1) ? " empty" : "";
3594 incIndent("<li class=\"level" + QCString(cs) + empty + "\">");
3595 }
3596 }
3597 }
3598 else if (nextLevel<level)
3599 {
3600 for (int l=level;l>nextLevel;l--)
3601 {
3602 if (l <= maxLevel) decIndent("</li>");
3603 inLi[l] = false;
3604 if (l <= maxLevel) decIndent("</ul>");
3605 }
3606 }
3607 if (nextLevel <= maxLevel)
3608 {
3609 if (inLi[nextLevel] || level>nextLevel)
3610 {
3611 decIndent("</li>");
3612 cs[0]=static_cast<char>('0'+nextLevel);
3613 incIndent("<li class=\"level" + QCString(cs) + "\">");
3614 }
3615 QCString titleDoc = si->title();
3616 QCString label = si->label();
3617 if (titleDoc.isEmpty()) titleDoc = label;
3618 writeIndent();
3619 m_t << "<a href=\"#"+label+"\">"
3620 << convertToHtml(filterTitle(titleDoc))
3621 << "</a>\n";
3622 inLi[nextLevel]=true;
3623 level = nextLevel;
3624 }
3625 }
3626 }
3627 if (level > maxLevel) level = maxLevel;
3628 while (level>0)
3629 {
3630 decIndent("</li>");
3631 decIndent("</ul>");
3632 level--;
3633 }
3634 m_t << "</div>\n";
3635 }
3636}
virtual QCString trRTFTableOfContents()=0
std::vector< bool > BoolVector
Definition containers.h:36
static void writeIndent(TextStream &t, int indent)
Definition qhp.cpp:37

References convertToHtml(), filterTitle(), LocalToc::htmlLevel(), QCString::isEmpty(), LocalToc::isHtmlEnabled(), OutputGenerator::m_t, theTranslator, type(), and writeIndent().

◆ writeLogo()

void HtmlGenerator::writeLogo ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1555 of file htmlgen.cpp.

1556{
1558}
static QCString writeLogoAsString(const QCString &path)
Definition htmlgen.cpp:1524

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

◆ writeLogoAsString()

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

Definition at line 1524 of file htmlgen.cpp.

1525{
1526 QCString result;
1527 switch (Config_getEnum(TIMESTAMP))
1528 {
1529 case TIMESTAMP_t::YES:
1530 case TIMESTAMP_t::DATETIME:
1531 result += theTranslator->trGeneratedAt(
1533 Config_getString(PROJECT_NAME)
1534 );
1535 break;
1536 case TIMESTAMP_t::DATE:
1537 result += theTranslator->trGeneratedAt(
1539 Config_getString(PROJECT_NAME)
1540 );
1541 break;
1542 case TIMESTAMP_t::NO:
1543 result += theTranslator->trGeneratedBy();
1544 break;
1545 }
1546 result += "&#160;\n<a href=\"https://www.doxygen.org/index.html\">\n"
1547 "<img class=\"footer\" src=\"";
1548 result += path;
1549 result += "doxygen.svg\" width=\"104\" height=\"31\" alt=\"doxygen\"/></a> ";
1550 result += getDoxygenVersion();
1551 result += " ";
1552 return result;
1553}
virtual QCString trGeneratedAt(const QCString &date, const QCString &projName)=0
QCString dateToString(DateTimeType includeTime)
Returns the current date, when includeTime is set also the time is provided.
Definition datetime.cpp:63

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

Referenced by writeLogo(), and writeSearchPage().

◆ writeNavigationPath()

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

Implements OutputGenIntf.

Definition at line 3048 of file htmlgen.cpp.

3049{
3050 m_t << substitute(s,"$relpath^",m_relPath);
3051}

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

◆ writeNonBreakableSpace()

void HtmlGenerator::writeNonBreakableSpace ( int n)
overridevirtual

Implements OutputGenIntf.

Definition at line 2548 of file htmlgen.cpp.

2549{
2550 for (int i=0; i<n; i++)
2551 {
2552 m_t << "&#160;";
2553 }
2554}

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

1758{
1759 if (!ref.isEmpty())
1760 {
1761 m_t << "<a class=\"elRef\" ";
1763 }
1764 else
1765 {
1766 m_t << "<a class=\"el\" ";
1767 }
1768 m_t << "href=\"";
1769 QCString fn = f;
1771 m_t << createHtmlUrl(m_relPath,ref,true,
1772 fileName() == Config_getString(HTML_OUTPUT)+"/"+fn,
1773 fn,
1774 anchor);
1775 m_t << "\">";
1776 docify(name);
1777 m_t << "</a>";
1778}

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

1562{
1563 t << substituteHtmlKeywords(g_footer_file,g_footer,convertToHtml(lastTitle),relPath,navPath);
1564}

References convertToHtml(), g_footer, g_footer_file, and substituteHtmlKeywords().

Referenced by writeExternalSearchPage(), writeFooter(), and writeSearchPage().

◆ writePageLink()

void HtmlGenerator::writePageLink ( const QCString & ,
bool  )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 134 of file htmlgen.h.

134{}

◆ writeQuickLinks()

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

Implements OutputGenIntf.

Definition at line 3073 of file htmlgen.cpp.

3074{
3075 writeDefaultQuickLinks(m_t,hli,file,m_relPath,extraTabs);
3076}

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

◆ writeRuler()

void HtmlGenerator::writeRuler ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 210 of file htmlgen.h.

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

References OutputGenerator::m_t.

◆ writeSearchData()

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

Definition at line 1312 of file htmlgen.cpp.

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

References Config_getBool, ResourceMgr::getAsString(), Doxygen::indexList, ResourceMgr::instance(), Portable::openOutputStream(), replaceVariables(), and substitute().

Referenced by generateOutput().

◆ writeSearchInfo()

void HtmlGenerator::writeSearchInfo ( )
overridevirtual

Implements OutputGenIntf.

Definition at line 1518 of file htmlgen.cpp.

1519{
1521}
static void writeSearchInfoStatic(TextStream &t, const QCString &relPath)
Definition htmlgen.cpp:1488

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

◆ writeSearchInfoStatic()

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

Definition at line 1488 of file htmlgen.cpp.

1489{
1490 bool searchEngine = Config_getBool(SEARCHENGINE);
1491 bool serverBasedSearch = Config_getBool(SERVER_BASED_SEARCH);
1492 if (searchEngine && !serverBasedSearch)
1493 {
1494 t << "<!-- window showing the filter options -->\n";
1495 t << "<div id=\"MSearchSelectWindow\"\n";
1496 t << " onmouseover=\"return searchBox.OnSearchSelectShow()\"\n";
1497 t << " onmouseout=\"return searchBox.OnSearchSelectHide()\"\n";
1498 t << " onkeydown=\"return searchBox.OnSearchSelectKey(event)\">\n";
1499 t << "</div>\n";
1500 t << "\n";
1501 t << "<!-- iframe showing the search results (closed by default) -->\n";
1502 t << "<div id=\"MSearchResultsWindow\">\n";
1503 t << "<div id=\"MSearchResults\">\n";
1504 t << "<div class=\"SRPage\">\n";
1505 t << "<div id=\"SRIndex\">\n";
1506 t << "<div id=\"SRResults\"></div>\n"; // here the results will be inserted
1507 t << "<div class=\"SRStatus\" id=\"Loading\">" << theTranslator->trLoading() << "</div>\n";
1508 t << "<div class=\"SRStatus\" id=\"Searching\">" << theTranslator->trSearching() << "</div>\n";
1509 t << "<div class=\"SRStatus\" id=\"NoMatches\">" << theTranslator->trNoMatches() << "</div>\n";
1510 t << "</div>\n"; // SRIndex
1511 t << "</div>\n"; // SRPage
1512 t << "</div>\n"; // MSearchResults
1513 t << "</div>\n"; // MSearchResultsWindow
1514 t << "\n";
1515 }
1516}
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 3079 of file htmlgen.cpp.

3080{
3081 bool disableIndex = Config_getBool(DISABLE_INDEX);
3082 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
3083 bool fullSidebar = Config_getBool(FULL_SIDEBAR);
3084 bool quickLinksAfterSplitbar = !disableIndex && generateTreeView && fullSidebar;
3085 QCString projectName = Config_getString(PROJECT_NAME);
3086 QCString htmlOutput = Config_getString(HTML_OUTPUT);
3087
3088 // OPENSEARCH_PROVIDER {
3089 QCString configFileName = htmlOutput+"/search_config.php";
3090 std::ofstream f = Portable::openOutputStream(configFileName);
3091 if (f.is_open())
3092 {
3093 TextStream t(&f);
3094 t << "<?php\n\n";
3095 t << "$config = array(\n";
3096 t << " 'PROJECT_NAME' => \"" << convertToHtml(projectName) << "\",\n";
3097 t << " 'GENERATE_TREEVIEW' => " << (generateTreeView?"true":"false") << ",\n";
3098 t << " 'DISABLE_INDEX' => " << (disableIndex?"true":"false") << ",\n";
3099 t << " 'FULL_SIDEBAR' => " << (fullSidebar?"true":"false") << ",\n";
3100 t << ");\n\n";
3101 t << "$translator = array(\n";
3102 t << " 'search_results_title' => \"" << theTranslator->trSearchResultsTitle() << "\",\n";
3103 t << " 'search_results' => array(\n";
3104 t << " 0 => \"" << theTranslator->trSearchResults(0) << "\",\n";
3105 t << " 1 => \"" << theTranslator->trSearchResults(1) << "\",\n";
3106 t << " 2 => \"" << substitute(theTranslator->trSearchResults(2), "$", "\\$") << "\",\n";
3107 t << " ),\n";
3108 t << " 'search_matches' => \"" << theTranslator->trSearchMatches() << "\",\n";
3109 t << " 'search' => \"" << theTranslator->trSearch() << "\",\n";
3110 t << " 'logo' => \"" << substitute(substitute(writeLogoAsString(""), "\"","\\\""), "\n","\\n") << "\",\n";
3111 t << ");\n\n";
3112 t << "?>\n";
3113 }
3114 f.close();
3115
3116 ResourceMgr::instance().copyResource("search_functions.php",htmlOutput);
3117 ResourceMgr::instance().copyResource("search_opensearch.php",htmlOutput);
3118 // OPENSEARCH_PROVIDER }
3119
3120 QCString fileName = htmlOutput+"/search.php";
3122 if (f.is_open())
3123 {
3124 TextStream t(&f);
3126
3127 t << "<!-- " << theTranslator->trGeneratedBy() << " Doxygen "
3128 << getDoxygenVersion() << " -->\n";
3129 t << "<script type=\"text/javascript\">\n";
3130 t << "/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */\n";
3131 t << "var searchBox = new SearchBox(\"searchBox\", \""
3132 << "search/\",'" << Doxygen::htmlFileExtension << "');\n";
3133 t << "/* @license-end */\n";
3134 t << "</script>\n";
3135
3136 if (!disableIndex && !quickLinksAfterSplitbar)
3137 {
3138 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3139 }
3140 if (generateTreeView)
3141 {
3142 t << "</div><!-- top -->\n";
3143 }
3144 t << writeSplitBarAsString("search.php",QCString());
3145 if (quickLinksAfterSplitbar)
3146 {
3147 writeDefaultQuickLinks(t,HighlightedItem::Search,QCString(),QCString(),false);
3148 }
3149 t << "<!-- generated -->\n";
3150
3151 t << "<?php\n";
3152 t << "require_once \"search_functions.php\";\n";
3153 t << "main();\n";
3154 t << "?>\n";
3155
3156 // Write empty navigation path, to make footer connect properly
3157 if (generateTreeView)
3158 {
3159 t << "</div><!-- doc-content -->\n";
3160 }
3161
3162 writePageFooter(t,"Search","","");
3163 }
3164 f.close();
3165
3166 QCString scriptName = htmlOutput+"/search/search.js";
3167 f = Portable::openOutputStream(scriptName);
3168 if (f.is_open())
3169 {
3170 TextStream t(&f);
3171 t << ResourceMgr::instance().getAsString("extsearch.js");
3172 }
3173 else
3174 {
3175 err("Failed to open file '{}' for writing...\n",scriptName);
3176 }
3177}
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)
overridevirtual

Implements OutputGenIntf.

Definition at line 3043 of file htmlgen.cpp.

3044{
3046}

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

◆ writeSplitBarAsString()

QCString HtmlGenerator::writeSplitBarAsString ( const QCString & name,
const QCString & relpath )
static

Config_getBool(DISABLE_INDEX) ||

Definition at line 2996 of file htmlgen.cpp.

2997{
2998 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
2999 QCString result;
3000 // write split bar
3001 if (generateTreeView)
3002 {
3003 QCString fn = name;
3005 if (/*!Config_getBool(DISABLE_INDEX) ||*/ !Config_getBool(FULL_SIDEBAR))
3006 {
3007 result += QCString(
3008 "<div id=\"side-nav\" class=\"ui-resizable side-nav-resizable\">\n");
3009 }
3010 result+=
3011 " <div id=\"nav-tree\">\n"
3012 " <div id=\"nav-tree-contents\">\n"
3013 " <div id=\"nav-sync\" class=\"sync\"></div>\n"
3014 " </div>\n"
3015 " </div>\n"
3016 " <div id=\"splitbar\" style=\"-moz-user-select:none;\" \n"
3017 " class=\"ui-resizable-handle\">\n"
3018 " </div>\n"
3019 "</div>\n"
3020 "<script type=\"text/javascript\">\n"
3021 "/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */\n"
3022 "$(function(){initNavTree('" + fn +
3023 "','" + relpath +
3024 "'); initResizable(true); });\n"
3025 "/* @license-end */\n"
3026 "</script>\n";
3027 if (Config_getBool(DISABLE_INDEX) || !Config_getBool(FULL_SIDEBAR))
3028 {
3029 result+="<div id=\"doc-content\">\n";
3030 }
3031 }
3032 else
3033 {
3034 result += "<script type=\"text/javascript\">\n"
3035 "/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */\n"
3036 "$(function(){ initResizable(false); });\n"
3037 "/* @license-end */\n"
3038 "</script>\n";
3039 }
3040 return result;
3041}

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

1746{
1747 m_t << "<li>";
1748 if (!path.isEmpty()) docify(path);
1749 QCString fn = f;
1751 m_t << "<a class=\"el\" href=\"" << fn << "\">";
1752 docify(name);
1753 m_t << "</a> ";
1754}

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

◆ writeString()

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

Implements OutputGenIntf.

Definition at line 1686 of file htmlgen.cpp.

1687{
1688 m_t << text;
1689}

References OutputGenerator::m_t.

◆ writeStyleInfo()

void HtmlGenerator::writeStyleInfo ( int part)
overridevirtual

Implements OutputGenIntf.

Definition at line 1586 of file htmlgen.cpp.

1587{
1588 //printf("writeStyleInfo(%d)\n",part);
1589 if (part==0)
1590 {
1591 if (Config_getString(HTML_STYLESHEET).isEmpty()) // write default style sheet
1592 {
1593 //printf("write doxygen.css\n");
1594 startPlainFile("doxygen.css");
1596 endPlainFile();
1597 Doxygen::indexList->addStyleSheetFile("doxygen.css");
1598 }
1599 else // write user defined style sheet
1600 {
1601 QCString cssName=Config_getString(HTML_STYLESHEET);
1602 if (!cssName.startsWith("http:") && !cssName.startsWith("https:"))
1603 {
1604 FileInfo cssfi(cssName.str());
1605 if (!cssfi.exists() || !cssfi.isFile() || !cssfi.isReadable())
1606 {
1607 err("style sheet {} does not exist or is not readable!\n", Config_getString(HTML_STYLESHEET));
1608 }
1609 else
1610 {
1611 // convert style sheet to string
1612 QCString fileStr = fileToString(cssName);
1613 // write the string into the output dir
1614 startPlainFile(cssfi.fileName().c_str());
1615 m_t << fileStr;
1616 endPlainFile();
1617 }
1618 Doxygen::indexList->addStyleSheetFile(cssfi.fileName().c_str());
1619 }
1620 }
1621 const StringVector &extraCssFiles = Config_getList(HTML_EXTRA_STYLESHEET);
1622 for (const auto &fileName : extraCssFiles)
1623 {
1624 if (!fileName.empty())
1625 {
1626 FileInfo fi(fileName);
1627 if (fi.exists())
1628 {
1629 Doxygen::indexList->addStyleSheetFile(fi.fileName().c_str());
1630 }
1631 }
1632 }
1633
1636 Doxygen::indexList->addStyleSheetFile("navtree.css");
1637
1638 Doxygen::indexList->addStyleSheetFile("dynsections.js");
1639
1640 if (Config_getEnum(HTML_COLORSTYLE)==HTML_COLORSTYLE_t::TOGGLE)
1641 {
1642 Doxygen::indexList->addStyleSheetFile("darkmode_toggle.js");
1643 }
1644
1645 if (Config_getBool(INTERACTIVE_SVG))
1646 {
1648 }
1649
1650 if (!Config_getBool(DISABLE_INDEX) && Config_getBool(HTML_DYNAMIC_MENUS))
1651 {
1653 Doxygen::indexList->addStyleSheetFile("menudata.js");
1654 }
1655 }
1656}
bool startsWith(const char *s) const
Definition qcstring.h:492
static void writeDefaultStyleSheet(TextStream &t)
Definition htmlgen.cpp:1357

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

1426{
1429}

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

3515{
3516 if (first)
3517 {
3518 m_t << " <div class=\"summary\">\n";
3519 }
3520 else
3521 {
3522 m_t << " &#124;\n";
3523 }
3524 m_t << "<a href=\"";
3525 if (!file.isEmpty())
3526 {
3527 QCString fn = file;
3529 m_t << m_relPath << fn;
3530 }
3531 else if (!anchor.isEmpty())
3532 {
3533 m_t << "#";
3534 m_t << anchor;
3535 }
3536 m_t << "\">";
3537 m_t << title;
3538 m_t << "</a>";
3539}

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

◆ writeSynopsis()

void HtmlGenerator::writeSynopsis ( )
inlineoverridevirtual

Implements OutputGenIntf.

Definition at line 244 of file htmlgen.h.

244{}

◆ writeTabData()

void HtmlGenerator::writeTabData ( )
static

Additional initialization after indices have been created.

Definition at line 1300 of file htmlgen.cpp.

1301{
1303 QCString dname=Config_getString(HTML_OUTPUT);
1304 ResourceMgr &mgr = ResourceMgr::instance();
1305 //writeColoredImgData(dname,colored_tab_data);
1306 mgr.copyResource("doxygen.svg",dname);
1307 Doxygen::indexList->addImageFile("doxygen.svg");
1308 mgr.copyResource("sync_on.luma",dname);
1309 mgr.copyResource("sync_off.luma",dname);
1310}
void addImageFile(const QCString &name)
Definition indexlist.h:126

References Config_getString, ResourceMgr::copyResource(), Doxygen::indexList, and ResourceMgr::instance().

Referenced by generateOutput().

Member Data Documentation

◆ m_codeGen

HtmlCodeGenerator* HtmlGenerator::m_codeGen = nullptr
private

Definition at line 344 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 343 of file htmlgen.h.

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

◆ m_emptySection

bool HtmlGenerator::m_emptySection = false
private

◆ m_lastFile

QCString HtmlGenerator::m_lastFile
private

Definition at line 339 of file htmlgen.h.

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

◆ m_lastTitle

QCString HtmlGenerator::m_lastTitle
private

Definition at line 338 of file htmlgen.h.

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

◆ m_relPath

◆ m_sectionCount


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