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 431 of file index.cpp.

433{
434 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
437 if (!skipNavIndex)
438 {
439 if (!skipEndContents) ol.endContents();
440 if (generateTreeView)
441 {
442 ol.writeString("</div><!-- doc-content -->\n");
443 ol.writeString("</div><!-- container -->\n");
444 }
445 }
446
447 ol.writeFooter(navPath); // write the footer
449 ol.endFile();
450}
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(), OutputList::endFile(), Html, OutputList::popGeneratorState(), OutputList::pushGeneratorState(), OutputList::writeFooter(), and OutputList::writeString().

Referenced by 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(), and writeNamespaceIndex().

◆ endFileWithNavPath()

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

Definition at line 452 of file index.cpp.

453{
454 bool generateTreeview = Config_getBool(GENERATE_TREEVIEW);
455 bool generateOutlinePanel = Config_getBool(PAGE_OUTLINE_PANEL);
456 DString navPath;
457 if (generateTreeview)
458 {
461 ol.writeString("</div><!-- doc-content -->\n");
462 if (generateOutlinePanel && showPageNavigation) d->writePageNavigation(ol);
463 ol.writeString("</div><!-- container -->\n");
465 navPath = toDefinition(const_cast<DefinitionMutable*>(d))->navigationPathAsString();
466 }
467 endFile(ol,generateTreeview,true,navPath);
468}
A String class for use with Doxygen wrapping std::string and adding some additional functionality off...
Definition dstring.h:84
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:431

References Config_getBool, OutputList::disableAllBut(), endFile(), Html, Definition::navigationPathAsString(), OutputList::popGeneratorState(), OutputList::pushGeneratorState(), toDefinition(), DefinitionMutable::writePageNavigation(), 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 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 405 of file index.cpp.

408{
409 bool disableIndex = Config_getBool(DISABLE_INDEX);
410 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
411 bool fullSidebar = Config_getBool(FULL_SIDEBAR);
412 bool quickLinksAfterSplitbar = !disableIndex && generateTreeView && fullSidebar;
413 ol.startFile(name,isSource,manName,title,hierarchyLevel);
415 if (!disableIndex && !quickLinksAfterSplitbar)
416 {
417 ol.writeQuickLinks(hli,name);
418 }
419 if (!additionalIndices)
420 {
421 ol.endQuickIndices();
422 }
423 ol.writeSplitBar(!altSidebarName.empty() ? altSidebarName : name, allMembersFile);
424 if (quickLinksAfterSplitbar)
425 {
426 ol.writeQuickLinks(hli,name);
427 }
428 ol.writeSearchInfo();
429}
bool empty() const
Returns true iff the string is empty (std::string compatible alias for isEmpty()).
Definition dstring.h:148
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(), OutputList::startQuickIndices(), OutputList::writeQuickLinks(), OutputList::writeSearchInfo(), and OutputList::writeSplitBar().

Referenced by generateExampleDocs(), 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 388 of file index.cpp.

389{
390 bool generateOutlinePanel = Config_getBool(GENERATE_TREEVIEW) && Config_getBool(PAGE_OUTLINE_PANEL);
392 if (!generateOutlinePanel && def) def->writeSummaryLinks(ol);
393 ol.startTitleHead(fileName);
396}
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(), OutputList::startTitleHead(), and DefinitionMutable::writeSummaryLinks().

Referenced by generateExampleDocs(), 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 4097 of file index.cpp.

4107{
4108 int count=0;
4109 for (const auto &dd : *Doxygen::dirLinkedMap)
4110 {
4111 if (dd->isLinkableInProject())
4112 {
4113 count++;
4114 }
4115 }
4116 return count;
4117}
4118
4119
4120//----------------------------------------------------------------------------
4121
4122void writeGraphInfo(OutputList &ol)
4123{
4124 if (!Config_getBool(HAVE_DOT) || !Config_getBool(GENERATE_HTML)) return;
4125 ol.pushGeneratorState();
4127
4128 DotLegendGraph gd;
4129 gd.writeGraph(Config_getString(HTML_OUTPUT));
4130
4131 bool oldStripCommentsState = Config_getBool(STRIP_CODE_COMMENTS);
4132 bool oldCreateSubdirs = Config_getBool(CREATE_SUBDIRS);
4133 // temporarily disable the stripping of comments for our own code example!
4134 Config_updateBool(STRIP_CODE_COMMENTS,false);
4135 // temporarily disable create subdirs for linking to our example
4136 Config_updateBool(CREATE_SUBDIRS,false);
4137
4138 startFile(ol,"graph_legend",false,DString(),theTranslator->trLegendTitle());
4139 startTitle(ol,DString());
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:4097
void startTitle(OutputList &ol, const DString &fileName, const DefinitionMutable *def)
Definition index.cpp:388
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:405
Translator * theTranslator
Definition language.cpp:76

Referenced by generateOutput().

◆ writeIndexHierarchy()

void writeIndexHierarchy ( OutputList & ol)

Definition at line 5811 of file index.cpp.

Referenced by generateOutput().