Doxygen
Loading...
Searching...
No Matches
index.h File Reference
#include <memory>
#include <vector>
#include <map>
#include "qcstring.h"
#include "construct.h"
+ Include dependency graph for index.h:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Index
 

Namespaces

namespace  ClassMemberHighlight
 
namespace  FileMemberHighlight
 
namespace  NamespaceMemberHighlight
 
namespace  ModuleMemberHighlight
 

Enumerations

enum class  IndexSection {
  isTitlePageStart , isTitlePageAuthor , isMainPage , isModuleIndex ,
  isTopicIndex , isDirIndex , isNamespaceIndex , isConceptIndex ,
  isClassHierarchyIndex , isCompoundIndex , isFileIndex , isPageIndex ,
  isModuleDocumentation , isTopicDocumentation , isDirDocumentation , isNamespaceDocumentation ,
  isClassDocumentation , isConceptDocumentation , isFileDocumentation , isExampleDocumentation ,
  isPageDocumentation , isPageDocumentation2 , isEndIndex
}
 
enum class  HighlightedItem {
  None =0 , Main , Modules , Namespaces ,
  Topics , ClassHierarchy , InterfaceHierarchy , ExceptionHierarchy ,
  Classes , Concepts , Interfaces , Structs ,
  Exceptions , AnnotatedClasses , AnnotatedInterfaces , AnnotatedStructs ,
  AnnotatedExceptions , Files , NamespaceMembers , ModuleMembers ,
  Functions , Globals , Pages , Examples ,
  Search , UserGroup , ClassVisible , ConceptVisible ,
  InterfaceVisible , StructVisible , ExceptionVisible , NamespaceVisible ,
  FileVisible , ModuleVisible
}
 
enum  ClassMemberHighlight::Enum : int {
  ClassMemberHighlight::All = 0 , ClassMemberHighlight::Functions , ClassMemberHighlight::Variables , ClassMemberHighlight::Typedefs ,
  ClassMemberHighlight::Enums , ClassMemberHighlight::EnumValues , ClassMemberHighlight::Properties , ClassMemberHighlight::Events ,
  ClassMemberHighlight::Related , ClassMemberHighlight::Total
}
 
enum  FileMemberHighlight::Enum : int {
  FileMemberHighlight::All = 0 , FileMemberHighlight::Functions , FileMemberHighlight::Variables , FileMemberHighlight::Typedefs ,
  FileMemberHighlight::Sequences , FileMemberHighlight::Dictionaries , FileMemberHighlight::Enums , FileMemberHighlight::EnumValues ,
  FileMemberHighlight::Defines , FileMemberHighlight::Total
}
 
enum  NamespaceMemberHighlight::Enum : int {
  NamespaceMemberHighlight::All = 0 , NamespaceMemberHighlight::Functions , NamespaceMemberHighlight::Variables , NamespaceMemberHighlight::Typedefs ,
  NamespaceMemberHighlight::Sequences , NamespaceMemberHighlight::Dictionaries , NamespaceMemberHighlight::Enums , NamespaceMemberHighlight::EnumValues ,
  NamespaceMemberHighlight::Total
}
 
enum  ModuleMemberHighlight::Enum : int {
  ModuleMemberHighlight::All = 0 , ModuleMemberHighlight::Functions , ModuleMemberHighlight::Variables , ModuleMemberHighlight::Typedefs ,
  ModuleMemberHighlight::Enums , ModuleMemberHighlight::EnumValues , ModuleMemberHighlight::Total
}
 

Functions

void writeGraphInfo (OutputList &ol)
 
void writeIndexHierarchy (OutputList &ol)
 
void startTitle (OutputList &ol, const QCString &fileName, const DefinitionMutable *def=nullptr)
 
void endTitle (OutputList &ol, const QCString &fileName, const QCString &name)
 
void startFile (OutputList &ol, const QCString &name, const QCString &manName, const QCString &title, HighlightedItem hli=HighlightedItem::None, bool additionalIndices=FALSE, const QCString &altSidebarName=QCString(), int hierarchyLevel=0)
 
void endFile (OutputList &ol, bool skipNavIndex=FALSE, bool skipEndContents=FALSE, const QCString &navPath=QCString())
 
void endFileWithNavPath (OutputList &ol, const Definition *d)
 

Enumeration Type Documentation

◆ HighlightedItem

enum class HighlightedItem
strong
Enumerator
None 
Main 
Modules 
Namespaces 
Topics 
ClassHierarchy 
InterfaceHierarchy 
ExceptionHierarchy 
Classes 
Concepts 
Interfaces 
Structs 
Exceptions 
AnnotatedClasses 
AnnotatedInterfaces 
AnnotatedStructs 
AnnotatedExceptions 
Files 
NamespaceMembers 
ModuleMembers 
Functions 
Globals 
Pages 
Examples 
Search 
UserGroup 
ClassVisible 
ConceptVisible 
InterfaceVisible 
StructVisible 
ExceptionVisible 
NamespaceVisible 
FileVisible 
ModuleVisible 

Definition at line 58 of file index.h.

59{
60 None=0,
61 Main,
62 Modules,
64 Topics,
68 Classes,
71 Structs,
77 Files,
81 Globals,
82 Pages,
84 Search,
86
95};
@ AnnotatedExceptions
Definition index.h:76
@ InterfaceVisible
Definition index.h:89
@ InterfaceHierarchy
Definition index.h:66
@ AnnotatedInterfaces
Definition index.h:74
@ NamespaceMembers
Definition index.h:78
@ AnnotatedClasses
Definition index.h:73
@ AnnotatedStructs
Definition index.h:75
@ ExceptionVisible
Definition index.h:91
@ NamespaceVisible
Definition index.h:92
@ ExceptionHierarchy
Definition index.h:67

◆ IndexSection

enum class IndexSection
strong
Enumerator
isTitlePageStart 
isTitlePageAuthor 
isMainPage 
isModuleIndex 
isTopicIndex 
isDirIndex 
isNamespaceIndex 
isConceptIndex 
isClassHierarchyIndex 
isCompoundIndex 
isFileIndex 
isPageIndex 
isModuleDocumentation 
isTopicDocumentation 
isDirDocumentation 
isNamespaceDocumentation 
isClassDocumentation 
isConceptDocumentation 
isFileDocumentation 
isExampleDocumentation 
isPageDocumentation 
isPageDocumentation2 
isEndIndex 

Definition at line 31 of file index.h.

32{
56};
@ isMainPage
Definition index.h:35
@ isTitlePageAuthor
Definition index.h:34
@ isFileIndex
Definition index.h:43
@ isFileDocumentation
Definition index.h:51
@ isPageDocumentation
Definition index.h:53
@ isDirDocumentation
Definition index.h:47
@ isModuleDocumentation
Definition index.h:45
@ isClassHierarchyIndex
Definition index.h:41
@ isModuleIndex
Definition index.h:36
@ isTopicIndex
Definition index.h:37
@ isConceptIndex
Definition index.h:40
@ isExampleDocumentation
Definition index.h:52
@ isClassDocumentation
Definition index.h:49
@ isPageIndex
Definition index.h:44
@ isCompoundIndex
Definition index.h:42
@ isEndIndex
Definition index.h:55
@ isConceptDocumentation
Definition index.h:50
@ isDirIndex
Definition index.h:38
@ isNamespaceIndex
Definition index.h:39
@ isNamespaceDocumentation
Definition index.h:48
@ isTitlePageStart
Definition index.h:33
@ isTopicDocumentation
Definition index.h:46
@ isPageDocumentation2
Definition index.h:54

Function Documentation

◆ endFile()

void endFile ( OutputList & ol,
bool skipNavIndex = FALSE,
bool skipEndContents = FALSE,
const QCString & navPath = QCString() )

Definition at line 421 of file index.cpp.

423{
424 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
427 if (!skipNavIndex)
428 {
429 if (!skipEndContents) ol.endContents();
430 if (generateTreeView)
431 {
432 ol.writeString("</div><!-- doc-content -->\n");
433 }
434 }
435
436 ol.writeFooter(navPath); // write the footer
438 ol.endFile();
439}
void writeString(const QCString &text)
Definition outputlist.h:412
void endContents()
Definition outputlist.h:619
void endFile()
Definition outputlist.h:402
void pushGeneratorState()
void disableAllBut(OutputType o)
void popGeneratorState()
void writeFooter(const QCString &navPath)
Definition outputlist.h:400
#define Config_getBool(name)
Definition config.h:33

References Config_getBool, OutputList::disableAllBut(), OutputList::endContents(), OutputList::endFile(), Html, OutputList::popGeneratorState(), OutputList::pushGeneratorState(), OutputList::writeFooter(), and OutputList::writeString().

Referenced by endFileWithNavPath(), generateExampleDocs(), writeAlphabeticalExceptionIndex(), writeAlphabeticalIndex(), writeAlphabeticalInterfaceIndex(), writeAlphabeticalStructIndex(), writeAnnotatedIndexGeneric(), writeClassMemberIndexFiltered(), writeConceptIndex(), GroupDefImpl::writeDocumentation(), ModuleDefImpl::writeDocumentation(), PageDefImpl::writeDocumentation(), MemberList::writeDocumentationPage(), writeExampleIndex(), writeFileIndex(), writeFileMemberIndexFiltered(), writeGraphicalClassHierarchy(), writeGraphicalExceptionHierarchy(), writeGraphicalInterfaceHierarchy(), writeGraphInfo(), writeHierarchicalExceptionIndex(), writeHierarchicalIndex(), writeHierarchicalInterfaceIndex(), writeIndex(), ClassDefImpl::writeMemberList(), writeModuleIndex(), writeModuleMemberIndexFiltered(), writeNamespaceIndex(), writeNamespaceMemberIndexFiltered(), writePageIndex(), writeTopicIndex(), and writeUserGroupStubPage().

◆ endFileWithNavPath()

void endFileWithNavPath ( OutputList & ol,
const Definition * d )

Definition at line 441 of file index.cpp.

442{
443 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
444 QCString navPath;
445 if (generateTreeView)
446 {
449 ol.writeString("</div><!-- doc-content -->\n");
451 navPath = d->navigationPathAsString();
452 }
453 endFile(ol,generateTreeView,TRUE,navPath);
454}
virtual QCString navigationPathAsString() const =0
This is an alternative implementation of QCString.
Definition qcstring.h:101
void endFile(OutputList &ol, bool skipNavIndex, bool skipEndContents, const QCString &navPath)
Definition index.cpp:421
#define TRUE
Definition qcstring.h:37

References Config_getBool, OutputList::disableAllBut(), endFile(), Html, Definition::navigationPathAsString(), OutputList::popGeneratorState(), OutputList::pushGeneratorState(), TRUE, and OutputList::writeString().

Referenced by ClassDefImpl::writeDocumentation(), ConceptDefImpl::writeDocumentation(), DirDefImpl::writeDocumentation(), DirRelation::writeDocumentation(), FileDefImpl::writeDocumentation(), NamespaceDefImpl::writeDocumentation(), PageDefImpl::writeDocumentation(), MemberList::writeDocumentationPage(), and FileDefImpl::writeSourceFooter().

◆ endTitle()

◆ startFile()

void startFile ( OutputList & ol,
const QCString & name,
const QCString & manName,
const QCString & title,
HighlightedItem hli = HighlightedItem::None,
bool additionalIndices = FALSE,
const QCString & altSidebarName = QCString(),
int hierarchyLevel = 0 )

Definition at line 402 of file index.cpp.

405{
406 bool disableIndex = Config_getBool(DISABLE_INDEX);
407 ol.startFile(name,manName,title,hierarchyLevel);
409 if (!disableIndex)
410 {
411 ol.writeQuickLinks(hli,name);
412 }
413 if (!additionalIndices)
414 {
415 ol.endQuickIndices();
416 }
417 ol.writeSplitBar(!altSidebarName.isEmpty() ? altSidebarName : name);
418 ol.writeSearchInfo();
419}
void writeSearchInfo()
Definition outputlist.h:398
void writeSplitBar(const QCString &name)
Definition outputlist.h:607
void startFile(const QCString &name, const QCString &manName, const QCString &title, int hierarchyLevel=0)
void startQuickIndices()
Definition outputlist.h:603
void endQuickIndices()
Definition outputlist.h:605
void writeQuickLinks(HighlightedItem hli, const QCString &file)
Definition outputlist.h:613
bool isEmpty() const
Returns TRUE iff the string is empty.
Definition qcstring.h:150

References Config_getBool, OutputList::endQuickIndices(), QCString::isEmpty(), OutputList::startFile(), OutputList::startQuickIndices(), OutputList::writeQuickLinks(), OutputList::writeSearchInfo(), and OutputList::writeSplitBar().

Referenced by generateExampleDocs(), writeAlphabeticalExceptionIndex(), writeAlphabeticalIndex(), writeAlphabeticalInterfaceIndex(), writeAlphabeticalStructIndex(), writeAnnotatedIndexGeneric(), writeConceptIndex(), ClassDefImpl::writeDocumentation(), ConceptDefImpl::writeDocumentation(), DirDefImpl::writeDocumentation(), DirRelation::writeDocumentation(), FileDefImpl::writeDocumentation(), GroupDefImpl::writeDocumentation(), ModuleDefImpl::writeDocumentation(), NamespaceDefImpl::writeDocumentation(), PageDefImpl::writeDocumentation(), MemberList::writeDocumentationPage(), writeExampleIndex(), writeFileIndex(), writeGraphicalClassHierarchy(), writeGraphicalExceptionHierarchy(), writeGraphicalInterfaceHierarchy(), writeGraphInfo(), writeHierarchicalExceptionIndex(), writeHierarchicalIndex(), writeHierarchicalInterfaceIndex(), ClassDefImpl::writeMemberList(), writeModuleIndex(), writeNamespaceIndex(), writePageIndex(), FileDefImpl::writeSourceHeader(), writeTopicIndex(), and writeUserGroupStubPage().

◆ startTitle()

void startTitle ( OutputList & ol,
const QCString & fileName,
const DefinitionMutable * def = nullptr )

Definition at line 386 of file index.cpp.

387{
389 if (def) def->writeSummaryLinks(ol);
390 ol.startTitleHead(fileName);
393}
virtual void writeSummaryLinks(OutputList &) const =0
void disable(OutputType o)
void startTitleHead(const QCString &fileName)
Definition outputlist.h:404
void startHeaderSection()
Definition outputlist.h:466

References OutputList::disable(), Man, OutputList::pushGeneratorState(), OutputList::startHeaderSection(), OutputList::startTitleHead(), and DefinitionMutable::writeSummaryLinks().

Referenced by generateExampleDocs(), writeAlphabeticalExceptionIndex(), writeAlphabeticalIndex(), writeAlphabeticalInterfaceIndex(), writeAlphabeticalStructIndex(), writeAnnotatedIndexGeneric(), writeConceptIndex(), ClassDefImpl::writeDocumentation(), ConceptDefImpl::writeDocumentation(), DirDefImpl::writeDocumentation(), FileDefImpl::writeDocumentation(), NamespaceDefImpl::writeDocumentation(), writeExampleIndex(), writeFileIndex(), writeGraphicalClassHierarchy(), writeGraphicalExceptionHierarchy(), writeGraphicalInterfaceHierarchy(), writeGraphInfo(), writeHierarchicalExceptionIndex(), writeHierarchicalIndex(), writeHierarchicalInterfaceIndex(), ClassDefImpl::writeMemberList(), writeModuleIndex(), writeNamespaceIndex(), writePageIndex(), FileDefImpl::writeSourceHeader(), writeTopicIndex(), and writeUserGroupStubPage().

◆ writeGraphInfo()

void writeGraphInfo ( OutputList & ol)

Definition at line 3945 of file index.cpp.

3946{
3947 if (!Config_getBool(HAVE_DOT) || !Config_getBool(GENERATE_HTML)) return;
3948 ol.pushGeneratorState();
3950
3951 DotLegendGraph gd;
3952 gd.writeGraph(Config_getString(HTML_OUTPUT));
3953
3954 bool oldStripCommentsState = Config_getBool(STRIP_CODE_COMMENTS);
3955 bool oldCreateSubdirs = Config_getBool(CREATE_SUBDIRS);
3956 // temporarily disable the stripping of comments for our own code example!
3957 Config_updateBool(STRIP_CODE_COMMENTS,FALSE);
3958 // temporarily disable create subdirs for linking to our example
3959 Config_updateBool(CREATE_SUBDIRS,FALSE);
3960
3961 startFile(ol,"graph_legend",QCString(),theTranslator->trLegendTitle());
3962 startTitle(ol,QCString());
3963 ol.parseText(theTranslator->trLegendTitle());
3964 endTitle(ol,QCString(),QCString());
3965 ol.startContents();
3966 QCString legendDocs = theTranslator->trLegendDocs();
3967 int s = legendDocs.find("<center>");
3968 int e = legendDocs.find("</center>");
3969 QCString imgExt = getDotImageExtension();
3970 if (imgExt=="svg" && s!=-1 && e!=-1)
3971 {
3972 legendDocs = legendDocs.left(s+8) + "[!-- " + "SVG 0 --]" + legendDocs.mid(e);
3973 //printf("legendDocs=%s\n",qPrint(legendDocs));
3974 }
3975
3976 {
3977 auto fd = createFileDef("","graph_legend.dox");
3978 ol.generateDoc("graph_legend",1,fd.get(),nullptr,legendDocs,FALSE,FALSE,
3980 }
3981
3982 // restore config settings
3983 Config_updateBool(STRIP_CODE_COMMENTS,oldStripCommentsState);
3984 Config_updateBool(CREATE_SUBDIRS,oldCreateSubdirs);
3985
3986 endFile(ol);
3987 ol.popGeneratorState();
3988}
Representation of a legend explaining the meaning of boxes, arrows, and colors.
void writeGraph(const QCString &path)
void generateDoc(const QCString &fileName, int startLine, const Definition *ctx, const MemberDef *md, const QCString &docStr, bool indexWords, bool isExample, const QCString &exampleName, bool singleLine, bool linkFromIndex, bool markdownSupport)
void startContents()
Definition outputlist.h:617
void parseText(const QCString &textStr)
int find(char c, int index=0, bool cs=TRUE) const
Definition qcstring.cpp:43
QCString mid(size_t index, size_t len=static_cast< size_t >(-1)) const
Definition qcstring.h:226
QCString left(size_t len) const
Definition qcstring.h:214
#define Config_updateBool(name, value)
Definition config.h:40
#define Config_getString(name)
Definition config.h:32
std::unique_ptr< FileDef > createFileDef(const QCString &p, const QCString &n, const QCString &ref, const QCString &dn)
Definition filedef.cpp:267
void startTitle(OutputList &ol, const QCString &fileName, const DefinitionMutable *def)
Definition index.cpp:386
void endTitle(OutputList &ol, const QCString &fileName, const QCString &name)
Definition index.cpp:395
void startFile(OutputList &ol, const QCString &name, const QCString &manName, const QCString &title, HighlightedItem hli, bool additionalIndices, const QCString &altSidebarName, int hierarchyLevel)
Definition index.cpp:402
Translator * theTranslator
Definition language.cpp:71
#define FALSE
Definition qcstring.h:34
QCString getDotImageExtension()
Definition util.cpp:6713

References Config_getBool, Config_getString, Config_updateBool, createFileDef(), OutputList::disableAllBut(), endFile(), endTitle(), FALSE, QCString::find(), OutputList::generateDoc(), getDotImageExtension(), Html, QCString::left(), QCString::mid(), OutputList::parseText(), OutputList::popGeneratorState(), OutputList::pushGeneratorState(), OutputList::startContents(), startFile(), startTitle(), theTranslator, and DotLegendGraph::writeGraph().

Referenced by generateOutput().

◆ writeIndexHierarchy()

void writeIndexHierarchy ( OutputList & ol)

Definition at line 5585 of file index.cpp.

5586{
5587 writeMenuData();
5589 if (lne)
5590 {
5592 }
5593}
static LayoutDocManager & instance()
Returns a reference to this singleton.
Definition layout.cpp:1435
LayoutNavEntry * rootNavEntry() const
returns the (invisible) root of the navigation tree.
Definition layout.cpp:1446
static void writeIndexHierarchyEntries(OutputList &ol, const LayoutNavEntryList &entries)
Definition index.cpp:5066
static void writeMenuData()
Definition index.cpp:5569
Base class for the layout of a navigation item at the top of the HTML pages.
Definition layout.h:156
const LayoutNavEntryList & children() const
Definition layout.h:219

References LayoutNavEntry::children(), LayoutDocManager::instance(), LayoutDocManager::rootNavEntry(), writeIndexHierarchyEntries(), and writeMenuData().

Referenced by generateOutput().