36#define ENTRY_SPECIFICATIONS \
39 ESPEC(MemberDeclStart) ESPEC(MemberDeclEnd) ESPEC(MemberDecl) \
40 ESPEC(MemberDefStart) ESPEC(MemberDefEnd) ESPEC(MemberDef) \
41 ESPEC(BriefDesc) ESPEC(DetailedDesc) \
42 ESPEC(AuthorSection) \
44 ESPEC(ClassIncludes) ESPEC(ClassInlineClasses) \
45 ESPEC(ClassInheritanceGraph) ESPEC(ClassNestedClasses) \
46 ESPEC(ClassCollaborationGraph) ESPEC(ClassAllMembersLink) \
47 ESPEC(ClassUsedFiles) \
49 ESPEC(ConceptDefinition) \
51 ESPEC(NamespaceNestedNamespaces) ESPEC(NamespaceNestedConstantGroups) \
52 ESPEC(NamespaceClasses) ESPEC(NamespaceConcepts) ESPEC(NamespaceInterfaces) ESPEC(NamespaceStructs) ESPEC(NamespaceExceptions) \
53 ESPEC(NamespaceInlineClasses) \
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) \
60 ESPEC(ModuleExports) ESPEC(ModuleClasses) ESPEC(ModuleConcepts) ESPEC(ModuleUsedFiles) \
62 ESPEC(GroupClasses) ESPEC(GroupConcepts) ESPEC(GroupModules) ESPEC(GroupInlineClasses) ESPEC(GroupNamespaces) \
63 ESPEC(GroupDirs) ESPEC(GroupNestedGroups) ESPEC(GroupFiles) \
64 ESPEC(GroupGraph) ESPEC(GroupPageDocs) \
66 ESPEC(DirSubDirs) ESPEC(DirFiles) ESPEC(DirGraph)
78#define ESPEC(x) case x: return #x; break;
81 default:
return "unknown";
141#define NAV_SPECIFICATIONS \
147 NSPEC(ModuleMembers,) \
150 NSPEC(NamespaceList,) \
151 NSPEC(NamespaceMembers,) \
156 NSPEC(ClassHierarchy,) \
157 NSPEC(ClassMembers,) \
159 NSPEC(InterfaceList,) \
160 NSPEC(InterfaceIndex,) \
161 NSPEC(InterfaceHierarchy,) \
164 NSPEC(StructIndex,) \
166 NSPEC(ExceptionList,) \
167 NSPEC(ExceptionIndex,) \
168 NSPEC(ExceptionHierarchy,) \
171 NSPEC(FileGlobals,) \
178#define NSPEC(x,y) x y,
186#define NSPEC(x,y) case x: return #x; break;
189 default:
return "unknown";
227#define PART_SPECIFICATIONS \
228 PSPEC(Undefined, = -1) \
229 PSPEC(Class,) PSPEC(Concept,) PSPEC(Namespace,) PSPEC(File,) PSPEC(Group,) PSPEC(Directory,) PSPEC(Module,) \
238#define PSPEC(x,y) x y,
248#define PSPEC(x,y) case x: return #x; break;
251 default:
return "unknown";
263 void parse(
const QCString &fileName,
const char* data =
nullptr);
Singleton providing access to the (user configurable) layout of the documentation.
static std::string partToString(int k)
std::unique_ptr< Private > d
LayoutNavEntry * createChildNavEntry(LayoutNavEntry *root, LayoutNavEntry::Kind k, bool vs, const QCString &bf, const QCString &tl, const QCString &intro)
static LayoutDocManager & instance()
Returns a reference to this singleton.
void parse(const QCString &fileName, const char *data=nullptr)
Parses a user provided layout.
friend class LayoutParser
void addEntry(LayoutPart p, LayoutDocEntryPtr &&e)
LayoutNavEntry * rootNavEntry() const
returns the (invisible) root of the navigation tree.
const LayoutDocEntryList & docEntries(LayoutPart part) const
Returns the list of LayoutDocEntry's in representation order for a given page identified by part.
A model of a class/file/namespace member symbol.
A list of MemberDef objects as shown in documentation sections.
Wrapper class for the MemberListType type.
This is an alternative implementation of QCString.
#define NON_COPYABLE(cls)
Macro to help implementing the rule of 5 for a non-copyable & movable class.
#define ABSTRACT_BASE_CLASS(cls)
Macro to implement rule of 5 for an abstract base class.
void writeDefaultLayoutFile(const QCString &fileName)
std::unique_ptr< LayoutDocEntry > LayoutDocEntryPtr
std::vector< std::unique_ptr< LayoutNavEntry > > LayoutNavEntryList
std::vector< LayoutDocEntryPtr > LayoutDocEntryList
Base class representing a piece of a documentation page.
std::string entryToString()
virtual Kind kind() const =0
LayoutDocEntryMemberDecl(MemberListType tp, const QCString &tl, const QCString &ss)
QCString title(SrcLangExt lang) const
Kind kind() const override
QCString subtitle(SrcLangExt lang) const
Kind kind() const override
QCString title(SrcLangExt lang) const
LayoutDocEntryMemberDef(MemberListType tp, const QCString &tl)
LayoutDocEntrySection(Kind k, const QCString &tl, bool v)
QCString title(SrcLangExt lang) const
Kind kind() const override
LayoutDocEntrySimple(Kind k, bool v)
Base class for the layout of a navigation item at the top of the HTML pages.
LayoutNavEntryList m_children
const LayoutNavEntryList & children() const
void addChild(std::unique_ptr< LayoutNavEntry > &&e)
LayoutNavEntry * parent() const
std::string navToString()
QCString baseFile() const
LayoutNavEntry * find(LayoutNavEntry::Kind k, const QCString &file=QCString()) const
void prependChild(std::unique_ptr< LayoutNavEntry > &&e)
LayoutNavEntry * m_parent
LayoutNavEntry(LayoutNavEntry *parent, Kind k, bool vs, const QCString &bf, const QCString &tl, const QCString &intro)
friend class LayoutDocManager
This file contains a number of basic enums and types.
SrcLangExt
Language as given by extension.