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, const QCString &allMembersFile=QCString())
void endFile (OutputList &ol, bool skipNavIndex=FALSE, bool skipEndContents=FALSE, const QCString &navPath=QCString())
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 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 427 of file index.cpp.

429{
430 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
433 if (!skipNavIndex)
434 {
435 if (!skipEndContents) ol.endContents();
436 if (generateTreeView)
437 {
438 ol.writeString("</div><!-- doc-content -->\n");
439 ol.writeString("</div><!-- container -->\n");
440 }
441 }
442
443 ol.writeFooter(navPath); // write the footer
445 ol.endFile();
446}
void writeString(const QCString &text)
Definition outputlist.h:413
void endContents()
Definition outputlist.h:622
void endFile()
Definition outputlist.h:403
void pushGeneratorState()
void disableAllBut(OutputType o)
void popGeneratorState()
void writeFooter(const QCString &navPath)
Definition outputlist.h:401
#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(), writeDirIndex(), 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 DefinitionMutable * d,
bool showPageNavigation = true )

Definition at line 448 of file index.cpp.

449{
450 bool generateTreeview = Config_getBool(GENERATE_TREEVIEW);
451 bool generateOutlinePanel = Config_getBool(PAGE_OUTLINE_PANEL);
452 QCString navPath;
453 if (generateTreeview)
454 {
457 ol.writeString("</div><!-- doc-content -->\n");
458 if (generateOutlinePanel && showPageNavigation) d->writePageNavigation(ol);
459 ol.writeString("</div><!-- container -->\n");
461 navPath = toDefinition(const_cast<DefinitionMutable*>(d))->navigationPathAsString();
462 }
463 endFile(ol,generateTreeview,TRUE,navPath);
464}
virtual QCString navigationPathAsString() const =0
virtual void writePageNavigation(OutputList &) const =0
This is an alternative implementation of QCString.
Definition qcstring.h:101
Definition * toDefinition(DefinitionMutable *dm)
void endFile(OutputList &ol, bool skipNavIndex, bool skipEndContents, const QCString &navPath)
Definition index.cpp:427
#define TRUE
Definition qcstring.h:37

References Config_getBool, OutputList::disableAllBut(), endFile(), Html, Definition::navigationPathAsString(), OutputList::popGeneratorState(), OutputList::pushGeneratorState(), toDefinition(), TRUE, 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 QCString & name,
const QCString & manName,
const QCString & title,
HighlightedItem hli = HighlightedItem::None,
bool additionalIndices = false,
const QCString & altSidebarName = QCString(),
int hierarchyLevel = 0,
const QCString & allMembersFile = QCString() )

Definition at line 401 of file index.cpp.

404{
405 bool disableIndex = Config_getBool(DISABLE_INDEX);
406 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
407 bool fullSidebar = Config_getBool(FULL_SIDEBAR);
408 bool quickLinksAfterSplitbar = !disableIndex && generateTreeView && fullSidebar;
409 ol.startFile(name,manName,title,hierarchyLevel);
411 if (!disableIndex && !quickLinksAfterSplitbar)
412 {
413 ol.writeQuickLinks(hli,name);
414 }
415 if (!additionalIndices)
416 {
417 ol.endQuickIndices();
418 }
419 ol.writeSplitBar(!altSidebarName.isEmpty() ? altSidebarName : name, allMembersFile);
420 if (quickLinksAfterSplitbar)
421 {
422 ol.writeQuickLinks(hli,name);
423 }
424 ol.writeSearchInfo();
425}
void writeSearchInfo()
Definition outputlist.h:399
void startFile(const QCString &name, const QCString &manName, const QCString &title, int hierarchyLevel=0)
void startQuickIndices()
Definition outputlist.h:604
void endQuickIndices()
Definition outputlist.h:606
void writeSplitBar(const QCString &name, const QCString &allMembersFile)
Definition outputlist.h:608
void writeQuickLinks(HighlightedItem hli, const QCString &file, bool extraTabs=false)
Definition outputlist.h:614
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(), writeDirIndex(), 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 384 of file index.cpp.

385{
386 bool generateOutlinePanel = Config_getBool(GENERATE_TREEVIEW) && Config_getBool(PAGE_OUTLINE_PANEL);
388 if (!generateOutlinePanel && def) def->writeSummaryLinks(ol);
389 ol.startTitleHead(fileName);
392}
virtual void writeSummaryLinks(OutputList &) const =0
void disable(OutputType o)
void startTitleHead(const QCString &fileName)
Definition outputlist.h:405
void startHeaderSection()
Definition outputlist.h:467

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

Referenced by generateExampleDocs(), writeAlphabeticalExceptionIndex(), writeAlphabeticalIndex(), writeAlphabeticalInterfaceIndex(), writeAlphabeticalStructIndex(), writeAnnotatedIndexGeneric(), writeConceptIndex(), writeDirIndex(), 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 4063 of file index.cpp.

4064{
4065 if (!Config_getBool(HAVE_DOT) || !Config_getBool(GENERATE_HTML)) return;
4066 ol.pushGeneratorState();
4068
4069 DotLegendGraph gd;
4070 gd.writeGraph(Config_getString(HTML_OUTPUT));
4071
4072 bool oldStripCommentsState = Config_getBool(STRIP_CODE_COMMENTS);
4073 bool oldCreateSubdirs = Config_getBool(CREATE_SUBDIRS);
4074 // temporarily disable the stripping of comments for our own code example!
4075 Config_updateBool(STRIP_CODE_COMMENTS,FALSE);
4076 // temporarily disable create subdirs for linking to our example
4077 Config_updateBool(CREATE_SUBDIRS,FALSE);
4078
4079 startFile(ol,"graph_legend",QCString(),theTranslator->trLegendTitle());
4080 startTitle(ol,QCString());
4081 ol.parseText(theTranslator->trLegendTitle());
4082 endTitle(ol,QCString(),QCString());
4083 ol.startContents();
4084 QCString legendDocs = theTranslator->trLegendDocs();
4085 int s = legendDocs.find("<center>");
4086 int e = legendDocs.find("</center>");
4087 QCString imgExt = getDotImageExtension();
4088 if (imgExt=="svg" && s!=-1 && e!=-1)
4089 {
4090 legendDocs = legendDocs.left(s+8) + "[!-- " + "SVG 0 --]" + legendDocs.mid(e);
4091 //printf("legendDocs=%s\n",qPrint(legendDocs));
4092 }
4093
4094 {
4095 auto fd = createFileDef("","graph_legend.dox");
4096 ol.generateDoc("graph_legend",1,fd.get(),nullptr,legendDocs,FALSE,FALSE,
4098 }
4099
4100 // restore config settings
4101 Config_updateBool(STRIP_CODE_COMMENTS,oldStripCommentsState);
4102 Config_updateBool(CREATE_SUBDIRS,oldCreateSubdirs);
4103
4104 endFile(ol);
4105 ol.popGeneratorState();
4106}
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=Config_getBool(MARKDOWN_SUPPORT), bool autolinkSupport=Config_getBool(AUTOLINK_SUPPORT))
void startContents()
Definition outputlist.h:620
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:268
void startTitle(OutputList &ol, const QCString &fileName, const DefinitionMutable *def)
Definition index.cpp:384
void endTitle(OutputList &ol, const QCString &fileName, const QCString &name)
Definition index.cpp:394
void startFile(OutputList &ol, const QCString &name, const QCString &manName, const QCString &title, HighlightedItem hli, bool additionalIndices, const QCString &altSidebarName, int hierarchyLevel, const QCString &allMembersFile)
Definition index.cpp:401
Translator * theTranslator
Definition language.cpp:71
#define FALSE
Definition qcstring.h:34
QCString getDotImageExtension()
Definition util.cpp:6800

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

5762{
5763 writeMenuData();
5765 if (lne)
5766 {
5768 }
5769}
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:5239
static void writeMenuData()
Definition index.cpp:5745
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().