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

428{
429 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
432 if (!skipNavIndex)
433 {
434 if (!skipEndContents) ol.endContents();
435 if (generateTreeView)
436 {
437 ol.writeString("</div><!-- doc-content -->\n");
438 }
439 }
440
441 ol.writeFooter(navPath); // write the footer
443 ol.endFile();
444}
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 446 of file index.cpp.

447{
448 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
449 QCString navPath;
450 if (generateTreeView)
451 {
454 ol.writeString("</div><!-- doc-content -->\n");
456 navPath = d->navigationPathAsString();
457 }
458 endFile(ol,generateTreeView,TRUE,navPath);
459}
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:426
#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 400 of file index.cpp.

403{
404 bool disableIndex = Config_getBool(DISABLE_INDEX);
405 bool generateTreeView = Config_getBool(GENERATE_TREEVIEW);
406 bool fullSidebar = Config_getBool(FULL_SIDEBAR);
407 bool quickLinksAfterSplitbar = !disableIndex && generateTreeView && fullSidebar;
408 ol.startFile(name,manName,title,hierarchyLevel);
410 if (!disableIndex && !quickLinksAfterSplitbar)
411 {
412 ol.writeQuickLinks(hli,name);
413 }
414 if (!additionalIndices)
415 {
416 ol.endQuickIndices();
417 }
418 ol.writeSplitBar(!altSidebarName.isEmpty() ? altSidebarName : name);
419 if (quickLinksAfterSplitbar)
420 {
421 ol.writeQuickLinks(hli,name);
422 }
423 ol.writeSearchInfo();
424}
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 384 of file index.cpp.

385{
387 if (def) def->writeSummaryLinks(ol);
388 ol.startTitleHead(fileName);
391}
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 4000 of file index.cpp.

4001{
4002 if (!Config_getBool(HAVE_DOT) || !Config_getBool(GENERATE_HTML)) return;
4003 ol.pushGeneratorState();
4005
4006 DotLegendGraph gd;
4007 gd.writeGraph(Config_getString(HTML_OUTPUT));
4008
4009 bool oldStripCommentsState = Config_getBool(STRIP_CODE_COMMENTS);
4010 bool oldCreateSubdirs = Config_getBool(CREATE_SUBDIRS);
4011 // temporarily disable the stripping of comments for our own code example!
4012 Config_updateBool(STRIP_CODE_COMMENTS,FALSE);
4013 // temporarily disable create subdirs for linking to our example
4014 Config_updateBool(CREATE_SUBDIRS,FALSE);
4015
4016 startFile(ol,"graph_legend",QCString(),theTranslator->trLegendTitle());
4017 startTitle(ol,QCString());
4018 ol.parseText(theTranslator->trLegendTitle());
4019 endTitle(ol,QCString(),QCString());
4020 ol.startContents();
4021 QCString legendDocs = theTranslator->trLegendDocs();
4022 int s = legendDocs.find("<center>");
4023 int e = legendDocs.find("</center>");
4024 QCString imgExt = getDotImageExtension();
4025 if (imgExt=="svg" && s!=-1 && e!=-1)
4026 {
4027 legendDocs = legendDocs.left(s+8) + "[!-- " + "SVG 0 --]" + legendDocs.mid(e);
4028 //printf("legendDocs=%s\n",qPrint(legendDocs));
4029 }
4030
4031 {
4032 auto fd = createFileDef("","graph_legend.dox");
4033 ol.generateDoc("graph_legend",1,fd.get(),nullptr,legendDocs,FALSE,FALSE,
4035 }
4036
4037 // restore config settings
4038 Config_updateBool(STRIP_CODE_COMMENTS,oldStripCommentsState);
4039 Config_updateBool(CREATE_SUBDIRS,oldCreateSubdirs);
4040
4041 endFile(ol);
4042 ol.popGeneratorState();
4043}
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:384
void endTitle(OutputList &ol, const QCString &fileName, const QCString &name)
Definition index.cpp:393
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:400
Translator * theTranslator
Definition language.cpp:71
#define FALSE
Definition qcstring.h:34
QCString getDotImageExtension()
Definition util.cpp:6776

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

5649{
5650 writeMenuData();
5652 if (lne)
5653 {
5655 }
5656}
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:5129
static void writeMenuData()
Definition index.cpp:5632
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().