Doxygen
Loading...
Searching...
No Matches
index.h File Reference
#include <map>
#include <memory>
#include <vector>
#include "dstring.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 DString &fileName, const DefinitionMutable *def=nullptr)
void endTitle (OutputList &ol, const DString &fileName, const DString &name)
void startFile (OutputList &ol, const DString &name, bool isSource, const DString &manName, const DString &title, HighlightedItem hli=HighlightedItem::None, bool additionalIndices=false, const DString &altSidebarName=DString(), int hierarchyLevel=0, const DString &allMembersFile=DString())
void endFile (OutputList &ol, bool skipNavIndex=false, bool skipEndContents=false, const DString &navPath=DString())
void endFileWithNavPath (OutputList &ol, const DefinitionMutable *d, bool showPageNavigation=true)

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 57 of file index.h.

58{
59 None=0,
60 Main,
61 Modules,
63 Topics,
67 Classes,
70 Structs,
76 Files,
80 Globals,
81 Pages,
83 Search,
85
94};
@ AnnotatedExceptions
Definition index.h:75
@ InterfaceVisible
Definition index.h:88
@ InterfaceHierarchy
Definition index.h:65
@ AnnotatedInterfaces
Definition index.h:73
@ NamespaceMembers
Definition index.h:77
@ AnnotatedClasses
Definition index.h:72
@ AnnotatedStructs
Definition index.h:74
@ ExceptionVisible
Definition index.h:90
@ NamespaceVisible
Definition index.h:91
@ ExceptionHierarchy
Definition index.h:66

◆ 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 30 of file index.h.

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

Function Documentation

◆ endFile()

void endFile ( OutputList & ol,
bool skipNavIndex = false,
bool skipEndContents = false,
const DString & navPath = DString() )

Definition at line 430 of file index.cpp.

432{
433 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
436 if (!skipNavIndex)
437 {
438 if (!skipEndContents) ol.endContents();
439 if (generateTreeView)
440 {
441 ol.writeString("</div><!-- doc-content -->\n");
442 ol.writeString("</div><!-- container -->\n");
443 }
444 }
445
446 ol.writeFooter(navPath); // write the footer
448 ol.endFile();
449}
void writeFooter(const DString &navPath)
Definition outputlist.h:395
void endContents()
Definition outputlist.h:616
void writeString(const DString &text)
Definition outputlist.h:407
void endFile()
Definition outputlist.h:397
void pushGeneratorState()
void disableAllBut(OutputType o)
void popGeneratorState()
#define Config_getBool(name)
Definition config.h:33

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

Referenced by countDirs(), endFile(), endFileWithNavPath(), generateExampleDocs(), writeAlphabeticalExceptionIndex(), writeAlphabeticalIndex(), writeAlphabeticalInterfaceIndex(), writeAlphabeticalStructIndex(), writeAnnotatedIndexGeneric(), writeDirIndex(), GroupDefImpl::writeDocumentation(), ModuleDefImpl::writeDocumentation(), PageDefImpl::writeDocumentation(), MemberList::writeDocumentationPage(), writeFileIndex(), writeGraphicalClassHierarchy(), writeGraphicalExceptionHierarchy(), writeGraphicalInterfaceHierarchy(), writeHierarchicalExceptionIndex(), writeHierarchicalIndex(), writeHierarchicalInterfaceIndex(), ClassDefImpl::writeMemberList(), writeNamespaceIndex(), and writePages().

◆ endFileWithNavPath()

void endFileWithNavPath ( OutputList & ol,
const DefinitionMutable * d,
bool showPageNavigation = true )

Definition at line 451 of file index.cpp.

452{
453 bool generateTreeview = Config_getBool(GENERATE_TREEVIEW);
454 bool generateOutlinePanel = Config_getBool(PAGE_OUTLINE_PANEL);
455 DString navPath;
456 if (generateTreeview)
457 {
460 ol.writeString("</div><!-- doc-content -->\n");
461 if (generateOutlinePanel && showPageNavigation) d->writePageNavigation(ol);
462 ol.writeString("</div><!-- container -->\n");
464 navPath = toDefinition(const_cast<DefinitionMutable*>(d))->navigationPathAsString();
465 }
466 endFile(ol,generateTreeview,true,navPath);
467}
A String class for use with Doxygen wrapping std::string and adding some additional functionality off...
Definition dstring.h:88
virtual DString navigationPathAsString() const =0
virtual void writePageNavigation(OutputList &) const =0
Definition * toDefinition(DefinitionMutable *dm)
void endFile(OutputList &ol, bool skipNavIndex, bool skipEndContents, const DString &navPath)
Definition index.cpp:430

References Config_getBool, OutputList::disableAllBut(), endFile(), endFileWithNavPath(), Html, Definition::navigationPathAsString(), OutputList::popGeneratorState(), OutputList::pushGeneratorState(), toDefinition(), DefinitionMutable::writePageNavigation(), and OutputList::writeString().

Referenced by endFileWithNavPath(), 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 DString & name,
bool isSource,
const DString & manName,
const DString & title,
HighlightedItem hli = HighlightedItem::None,
bool additionalIndices = false,
const DString & altSidebarName = DString(),
int hierarchyLevel = 0,
const DString & allMembersFile = DString() )

Definition at line 404 of file index.cpp.

407{
408 bool disableIndex = Config_getBool(DISABLE_INDEX);
409 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
410 bool fullSidebar = Config_getBool(FULL_SIDEBAR);
411 bool quickLinksAfterSplitbar = !disableIndex && generateTreeView && fullSidebar;
412 ol.startFile(name,isSource,manName,title,hierarchyLevel);
414 if (!disableIndex && !quickLinksAfterSplitbar)
415 {
416 ol.writeQuickLinks(hli,name);
417 }
418 if (!additionalIndices)
419 {
420 ol.endQuickIndices();
421 }
422 ol.writeSplitBar(!altSidebarName.empty() ? altSidebarName : name, allMembersFile);
423 if (quickLinksAfterSplitbar)
424 {
425 ol.writeQuickLinks(hli,name);
426 }
427 ol.writeSearchInfo();
428}
bool empty() const
Returns true iff the string is empty (std::string compatible alias for isEmpty()).
Definition dstring.h:152
void writeSearchInfo()
Definition outputlist.h:393
void startQuickIndices()
Definition outputlist.h:598
void startFile(const DString &name, bool isSource, const DString &manName, const DString &title, int hierarchyLevel=0)
void endQuickIndices()
Definition outputlist.h:600
void writeSplitBar(const DString &name, const DString &allMembersFile)
Definition outputlist.h:602
void writeQuickLinks(HighlightedItem hli, const DString &file, bool extraTabs=false)
Definition outputlist.h:608

References Config_getBool, DString::empty(), OutputList::endQuickIndices(), OutputList::startFile(), startFile(), OutputList::startQuickIndices(), OutputList::writeQuickLinks(), OutputList::writeSearchInfo(), and OutputList::writeSplitBar().

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

◆ startTitle()

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

Definition at line 387 of file index.cpp.

388{
389 bool generateOutlinePanel = Config_getBool(GENERATE_TREEVIEW) && Config_getBool(PAGE_OUTLINE_PANEL);
391 if (!generateOutlinePanel && def) def->writeSummaryLinks(ol);
392 ol.startTitleHead(fileName);
395}
virtual void writeSummaryLinks(OutputList &) const =0
void startTitleHead(const DString &fileName)
Definition outputlist.h:399
void disable(OutputType o)
void startHeaderSection()
Definition outputlist.h:461

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

Referenced by generateExampleDocs(), startTitle(), writeAlphabeticalExceptionIndex(), writeAlphabeticalIndex(), writeAlphabeticalInterfaceIndex(), writeAlphabeticalStructIndex(), writeAnnotatedIndexGeneric(), writeDirIndex(), ClassDefImpl::writeDocumentation(), ConceptDefImpl::writeDocumentation(), DirDefImpl::writeDocumentation(), FileDefImpl::writeDocumentation(), NamespaceDefImpl::writeDocumentation(), writeFileIndex(), writeGraphicalClassHierarchy(), writeGraphicalExceptionHierarchy(), writeGraphicalInterfaceHierarchy(), writeHierarchicalExceptionIndex(), writeHierarchicalIndex(), writeHierarchicalInterfaceIndex(), ClassDefImpl::writeMemberList(), writeNamespaceIndex(), and FileDefImpl::writeSourceHeader().

◆ writeGraphInfo()

void writeGraphInfo ( OutputList & ol)

Definition at line 4099 of file index.cpp.

4109{
4110 int count=0;
4111 for (const auto &dd : *Doxygen::dirLinkedMap)
4112 {
4113 if (dd->isLinkableInProject())
4114 {
4115 count++;
4116 }
4117 }
4118 return count;
4119}
4120
4121
4122//----------------------------------------------------------------------------
4123
4124void writeGraphInfo(OutputList &ol)
4125{
4126 if (!Config_getBool(HAVE_DOT) || !Config_getBool(GENERATE_HTML)) return;
4127 ol.pushGeneratorState();
4129
4130 DotLegendGraph gd;
4131 gd.writeGraph(Config_getString(HTML_OUTPUT));
4132
4133 bool oldStripCommentsState = Config_getBool(STRIP_CODE_COMMENTS);
4134 bool oldCreateSubdirs = Config_getBool(CREATE_SUBDIRS);
4135 // temporarily disable the stripping of comments for our own code example!
4136 Config_updateBool(STRIP_CODE_COMMENTS,false);
4137 // temporarily disable create subdirs for linking to our example
4138 Config_updateBool(CREATE_SUBDIRS,false);
4139
4140 startFile(ol,"graph_legend",false,DString(),theTranslator->trLegendTitle());
4141 startTitle(ol,DString());
DString()=default
Representation of a legend explaining the meaning of boxes, arrows, and colors.
void writeGraph(const DString &path)
static DirLinkedMap * dirLinkedMap
Definition doxygen.h:120
Class representing a list of output generators that are written to in parallel.
Definition outputlist.h:311
virtual DString trLegendTitle()=0
#define Config_updateBool(name, value)
Definition config.h:40
#define Config_getString(name)
Definition config.h:32
void writeGraphInfo(OutputList &ol)
Definition index.cpp:4099
void startTitle(OutputList &ol, const DString &fileName, const DefinitionMutable *def)
Definition index.cpp:387
void startFile(OutputList &ol, const DString &name, bool isSource, const DString &manName, const DString &title, HighlightedItem hli, bool additionalIndices, const DString &altSidebarName, int hierarchyLevel, const DString &allMembersFile)
Definition index.cpp:404
Translator * theTranslator
Definition language.cpp:71

Referenced by generateOutput().

◆ writeIndexHierarchy()

void writeIndexHierarchy ( OutputList & ol)

Definition at line 5813 of file index.cpp.

Referenced by generateOutput().