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

Go to the source code of this file.

Classes

struct  LayoutDocEntry
 Base class representing a piece of a documentation page. More...
 
struct  LayoutDocEntrySimple
 Represents of a piece of a documentation page without configurable parts. More...
 
struct  LayoutDocEntrySection
 
struct  LayoutDocEntryMemberDecl
 Represents of a member declaration list with configurable title and subtitle. More...
 
struct  LayoutDocEntryMemberDef
 Represents of a member definition list with configurable title. More...
 
struct  LayoutNavEntry
 Base class for the layout of a navigation item at the top of the HTML pages. More...
 
class  LayoutDocManager
 Singleton providing access to the (user configurable) layout of the documentation. More...
 

Macros

#define ENTRY_SPECIFICATIONS
 
#define ESPEC(x)
 
#define ESPEC(x)
 
#define NAV_SPECIFICATIONS
 
#define NSPEC(x, y)
 
#define NSPEC(x, y)
 
#define PART_SPECIFICATIONS
 
#define PSPEC(x, y)
 
#define PSPEC(x, y)
 

Typedefs

using LayoutNavEntryList = std::vector< std::unique_ptr<LayoutNavEntry> >
 
using LayoutDocEntryPtr = std::unique_ptr<LayoutDocEntry>
 
using LayoutDocEntryList = std::vector<LayoutDocEntryPtr>
 

Functions

void writeDefaultLayoutFile (const QCString &fileName)
 

Macro Definition Documentation

◆ ENTRY_SPECIFICATIONS

#define ENTRY_SPECIFICATIONS
Value:
/* Generic items for all pages */ \
ESPEC(MemberGroups) \
ESPEC(MemberDeclStart) ESPEC(MemberDeclEnd) ESPEC(MemberDecl) \
ESPEC(MemberDefStart) ESPEC(MemberDefEnd) ESPEC(MemberDef) \
ESPEC(BriefDesc) ESPEC(DetailedDesc) \
ESPEC(AuthorSection) \
/* Class specific items */ \
ESPEC(ClassIncludes) ESPEC(ClassInlineClasses) \
ESPEC(ClassInheritanceGraph) ESPEC(ClassNestedClasses) \
ESPEC(ClassCollaborationGraph) ESPEC(ClassAllMembersLink) \
ESPEC(ClassUsedFiles) \
/* Concept specific items */ \
ESPEC(ConceptDefinition) \
/* Namespace specific items */ \
ESPEC(NamespaceNestedNamespaces) ESPEC(NamespaceNestedConstantGroups) \
ESPEC(NamespaceClasses) ESPEC(NamespaceConcepts) ESPEC(NamespaceInterfaces) ESPEC(NamespaceStructs) ESPEC(NamespaceExceptions) \
ESPEC(NamespaceInlineClasses) \
/* File specific items */ \
ESPEC(FileClasses) ESPEC(FileConcepts) ESPEC(FileInterfaces) ESPEC(FileStructs) ESPEC(FileExceptions) ESPEC(FileConstantGroups) ESPEC(FileNamespaces) \
ESPEC(FileIncludes) ESPEC(FileIncludeGraph) \
ESPEC(FileIncludedByGraph) ESPEC(FileSourceLink) \
ESPEC(FileInlineClasses) \
/* C++20 Modules */ \
ESPEC(ModuleExports) ESPEC(ModuleClasses) ESPEC(ModuleConcepts) ESPEC(ModuleUsedFiles) \
/* Group specific items */ \
ESPEC(GroupClasses) ESPEC(GroupConcepts) ESPEC(GroupModules) ESPEC(GroupInlineClasses) ESPEC(GroupNamespaces) \
ESPEC(GroupDirs) ESPEC(GroupNestedGroups) ESPEC(GroupFiles) \
ESPEC(GroupGraph) ESPEC(GroupPageDocs) \
/* Directory specific items */ \
ESPEC(DirSubDirs) ESPEC(DirFiles) ESPEC(DirGraph)
A model of a class/file/namespace member symbol.
Definition memberdef.h:48
#define ESPEC(x)
Definition layout.h:69

Definition at line 36 of file layout.h.

36#define ENTRY_SPECIFICATIONS \
37 /* Generic items for all pages */ \
38 ESPEC(MemberGroups) \
39 ESPEC(MemberDeclStart) ESPEC(MemberDeclEnd) ESPEC(MemberDecl) \
40 ESPEC(MemberDefStart) ESPEC(MemberDefEnd) ESPEC(MemberDef) \
41 ESPEC(BriefDesc) ESPEC(DetailedDesc) \
42 ESPEC(AuthorSection) \
43 /* Class specific items */ \
44 ESPEC(ClassIncludes) ESPEC(ClassInlineClasses) \
45 ESPEC(ClassInheritanceGraph) ESPEC(ClassNestedClasses) \
46 ESPEC(ClassCollaborationGraph) ESPEC(ClassAllMembersLink) \
47 ESPEC(ClassUsedFiles) \
48 /* Concept specific items */ \
49 ESPEC(ConceptDefinition) \
50 /* Namespace specific items */ \
51 ESPEC(NamespaceNestedNamespaces) ESPEC(NamespaceNestedConstantGroups) \
52 ESPEC(NamespaceClasses) ESPEC(NamespaceConcepts) ESPEC(NamespaceInterfaces) ESPEC(NamespaceStructs) ESPEC(NamespaceExceptions) \
53 ESPEC(NamespaceInlineClasses) \
54 /* File specific items */ \
55 ESPEC(FileClasses) ESPEC(FileConcepts) ESPEC(FileInterfaces) ESPEC(FileStructs) ESPEC(FileExceptions) ESPEC(FileConstantGroups) ESPEC(FileNamespaces) \
56 ESPEC(FileIncludes) ESPEC(FileIncludeGraph) \
57 ESPEC(FileIncludedByGraph) ESPEC(FileSourceLink) \
58 ESPEC(FileInlineClasses) \
59 /* C++20 Modules */ \
60 ESPEC(ModuleExports) ESPEC(ModuleClasses) ESPEC(ModuleConcepts) ESPEC(ModuleUsedFiles) \
61 /* Group specific items */ \
62 ESPEC(GroupClasses) ESPEC(GroupConcepts) ESPEC(GroupModules) ESPEC(GroupInlineClasses) ESPEC(GroupNamespaces) \
63 ESPEC(GroupDirs) ESPEC(GroupNestedGroups) ESPEC(GroupFiles) \
64 ESPEC(GroupGraph) ESPEC(GroupPageDocs) \
65 /* Directory specific items */ \
66 ESPEC(DirSubDirs) ESPEC(DirFiles) ESPEC(DirGraph)

◆ ESPEC [1/2]

#define ESPEC ( x)
Value:
x,

Definition at line 69 of file layout.h.

◆ ESPEC [2/2]

#define ESPEC ( x)
Value:
case x: return #x; break;

Definition at line 69 of file layout.h.

◆ NAV_SPECIFICATIONS

#define NAV_SPECIFICATIONS

Definition at line 141 of file layout.h.

141#define NAV_SPECIFICATIONS \
142 NSPEC(None, = -1) \
143 NSPEC(MainPage,) \
144 NSPEC(Pages,) \
145 NSPEC(Modules,) \
146 NSPEC(ModuleList,) \
147 NSPEC(ModuleMembers,) \
148 NSPEC(Topics,) \
149 NSPEC(Namespaces,) \
150 NSPEC(NamespaceList,) \
151 NSPEC(NamespaceMembers,) \
152 NSPEC(Concepts,) \
153 NSPEC(Classes,) \
154 NSPEC(ClassList,) \
155 NSPEC(ClassIndex,) \
156 NSPEC(ClassHierarchy,) \
157 NSPEC(ClassMembers,) \
158 NSPEC(Interfaces,) \
159 NSPEC(InterfaceList,) \
160 NSPEC(InterfaceIndex,) \
161 NSPEC(InterfaceHierarchy,) \
162 NSPEC(Structs,) \
163 NSPEC(StructList,) \
164 NSPEC(StructIndex,) \
165 NSPEC(Exceptions,) \
166 NSPEC(ExceptionList,) \
167 NSPEC(ExceptionIndex,) \
168 NSPEC(ExceptionHierarchy,) \
169 NSPEC(Files,) \
170 NSPEC(FileList,) \
171 NSPEC(FileGlobals,) \
172 NSPEC(Examples,) \
173 NSPEC(User,) \
174 NSPEC(UserGroup,)

◆ NSPEC [1/2]

#define NSPEC ( x,
y )
Value:
x y,

Definition at line 178 of file layout.h.

◆ NSPEC [2/2]

#define NSPEC ( x,
y )
Value:
case x: return #x; break;

Definition at line 178 of file layout.h.

◆ PART_SPECIFICATIONS

#define PART_SPECIFICATIONS
Value:
PSPEC(Undefined, = -1) \
PSPEC(Class,) PSPEC(Concept,) PSPEC(Namespace,) PSPEC(File,) PSPEC(Group,) PSPEC(Directory,) PSPEC(Module,) \
PSPEC(NrParts,)
#define PSPEC(x, y)
Definition layout.h:238

Definition at line 227 of file layout.h.

227#define PART_SPECIFICATIONS \
228 PSPEC(Undefined, = -1) \
229 PSPEC(Class,) PSPEC(Concept,) PSPEC(Namespace,) PSPEC(File,) PSPEC(Group,) PSPEC(Directory,) PSPEC(Module,) \
230 PSPEC(NrParts,)

◆ PSPEC [1/2]

#define PSPEC ( x,
y )
Value:
x y,

Definition at line 238 of file layout.h.

◆ PSPEC [2/2]

#define PSPEC ( x,
y )
Value:
case x: return #x; break;

Definition at line 238 of file layout.h.

Typedef Documentation

◆ LayoutDocEntryList

using LayoutDocEntryList = std::vector<LayoutDocEntryPtr>

Definition at line 225 of file layout.h.

◆ LayoutDocEntryPtr

using LayoutDocEntryPtr = std::unique_ptr<LayoutDocEntry>

Definition at line 224 of file layout.h.

◆ LayoutNavEntryList

using LayoutNavEntryList = std::vector< std::unique_ptr<LayoutNavEntry> >

Definition at line 136 of file layout.h.

Function Documentation

◆ writeDefaultLayoutFile()

void writeDefaultLayoutFile ( const QCString & fileName)

Definition at line 1479 of file layout.cpp.

1480{
1481 std::ofstream f;
1482 if (openOutputFile(fileName,f))
1483 {
1484 TextStream t(&f);
1485 QCString layout_default = ResourceMgr::instance().getAsString("layout_default.xml");
1486 t << substitute(layout_default,"$doxygenversion",getDoxygenVersion());
1487 }
1488 else
1489 {
1490 err("Failed to open file %s for writing!\n",qPrint(fileName));
1491 return;
1492 }
1493 f.close();
1494}
This is an alternative implementation of QCString.
Definition qcstring.h:101
static ResourceMgr & instance()
Returns the one and only instance of this class.
QCString getAsString(const QCString &name) const
Gets the resource data as a C string.
Text streaming class that buffers data.
Definition textstream.h:36
#define err(fmt,...)
Definition message.h:84
QCString substitute(const QCString &s, const QCString &src, const QCString &dst)
substitute all occurrences of src in s by dst
Definition qcstring.cpp:477
const char * qPrint(const char *s)
Definition qcstring.h:672
bool openOutputFile(const QCString &outFile, std::ofstream &f)
Definition util.cpp:6624

References err, ResourceMgr::getAsString(), ResourceMgr::instance(), openOutputFile(), qPrint(), and substitute().

Referenced by LayoutDocManager::LayoutParser, and readConfiguration().