86 return std::make_unique<PageDefImpl>(f,l,n,d,t);
156 if (sectionRefs.
empty())
return;
159 for (
auto it = sectionRefs.
begin(); it!=sectionRefs.
end(); ++it)
166 int nextLevel = type.
level();
169 for (
int i=level;i<nextLevel;i++)
174 else if (nextLevel<level)
176 for (
int i=nextLevel;i<level;i++)
186 auto it_next = std::next(it);
187 bool isDir = (it_next!=sectionRefs.
end()) ? ((*it_next)->type().isSection() && (*it_next)->type().level() > nextLevel) :
false;
232 bool found =
name()==
"citelist" ||
name()==
"requirements";
235 if (rl->listName()==
name())
245 tagFile <<
" <compound kind=\"page\">\n";
246 tagFile <<
" <name>" <<
name() <<
"</name>\n";
248 tagFile <<
" <filename>" << fn <<
"</filename>\n";
251 DString sfn = subPage->getOutputFileBase();
253 tagFile <<
" <subpage>" << sfn <<
"</subpage>\n";
256 tagFile <<
" </compound>\n";
263 int hierarchyLevel = -1;
293 if (!generateTreeView)
317 if (si->
title() != manPageName)
326 .setAutolinkSupport(
false));
355 .setAutolinkSupport(
false));
384 if (generateTreeView &&
Config_getBool(PAGE_OUTLINE_PANEL) && pageWithSections)
422 .setIndexWords(
true));
526 return (d &&
typeid(*d) ==
typeid(
PageDefImpl)) ?
static_cast<const PageDef*
>(d) :
nullptr;
A String class for use with Doxygen wrapping std::string and adding some additional functionality off...
bool empty() const
Returns true iff the string is empty (std::string compatible alias for isEmpty()).
The common base class of all entity definitions found in the sources.
virtual DefType definitionType() const =0
virtual const DString & name() const =0
virtual Definition * getOuterScope() const =0
virtual DString getOutputFileBase() const =0
friend DefinitionMutable * toDefinitionMutable(Definition *)
bool isReference() const override
DString docFile() const override
bool hasBriefDescription() const override
bool hasRequirementRefs() const override
DString briefDescription(bool abbreviate=false) const override
const DString & name() const override
DString getReference() const override
void writeRequirementRefs(OutputList &ol) const override
const RefItemVector & xrefListItems() const override
Definition * getOuterScope() const override
void setDocumentation(const DString &doc, const DString &docFile, int docLine, bool stripWhiteSpace=true) override
DString documentation() const override
const GroupList & partOfGroups() const override
DefinitionMixin(const DString &defFileName, int defLine, size_t defColumn, const DString &name, const char *b=nullptr, const char *d=nullptr, bool isSymbol=true)
DString inbodyDocumentation() const override
int getStartBodyLine() const override
void writeToc(OutputList &ol, const LocalToc <) const override
bool hasSections() const override
int docLine() const override
const SectionRefs & getSectionRefs() const override
void writeDocAnchorsToTagFile(TextStream &fs) const override
virtual void setOuterScope(Definition *d)=0
virtual void writeNavigationPath(OutputList &ol) const =0
static std::unique_ptr< PageDef > mainPage
static NamespaceDefMutable * globalScope
static IndexList * indexList
A model of a group of symbols.
void addContentsItem(bool isDir, const DString &name, const DString &ref, const DString &file, const DString &anchor, bool separateIndex=false, bool addToNavIndex=false, const Definition *def=nullptr, const DString &nameAsHtml=DString())
std::unique_ptr< RefList > Ptr
const T * find(const std::string &key) const
bool add(const char *k, T *obj)
constexpr bool isDocbookEnabled() const noexcept
constexpr bool isLatexEnabled() const noexcept
constexpr bool isHtmlEnabled() const noexcept
Class representing a list of output generators that are written to in parallel.
void startTitleHead(const DString &fileName)
void endTitleHead(const DString &fileName, const DString &name)
void disable(OutputType o)
void writePageLink(const DString &name, bool first)
void enable(OutputType o)
void endTextBlock(bool paraBreak=false)
void startHeaderSection()
void writeString(const DString &text)
void endSection(const DString &lab, SectionType t)
void pushGeneratorState()
void disableAllBut(OutputType o)
void startTextBlock(bool dense=false)
void startPageDoc(const DString &pageTitle)
void generateDoc(const DString &fileName, int startLine, const Definition *ctx, const MemberDef *md, const DString &docStr, const DocOptions &options)
A model of a page symbol.
virtual bool hasParentPage() const =0
virtual void setNestingLevel(int)=0
bool hasTitle() const override
void setNestingLevel(int l) override
void writeDocumentation(OutputList &ol) override
bool hasParentPage() const override
bool documentedPage() const override
LocalToc localToc() const override
DString getOutputFileBase() const override
void addListReferences() override
void addInnerCompound(Definition *d) override
void setFileName(const DString &name) override
DString displayName(bool=true) const override
void addRequirementReferences() override
DString title() const override
void writeTagFile(TextStream &) override
void setTitle(const DString &title) override
PageDefImpl(const DString &f, int l, const DString &n, const DString &d, const DString &t)
bool showLineNo() const override
void findSectionsInDocumentation() override
void writePageNavigation(OutputList &ol) const override
DefType definitionType() const override
bool isLinkable() const override
bool isLinkableInProject() const override
void setShowLineNo(bool) override
const PageLinkedRefMap & getSubPages() const override
CodeSymbolType codeSymbolType() const override
DString titleAsText() const override
const GroupDef * getGroupDef() const override
bool visibleInIndex() const override
void writePageDocumentation(OutputList &ol) const override
void addSectionsToIndex() override
DString anchor() const override
void setLocalToc(const LocalToc &tl) override
void setPageScope(Definition *d) override
PageLinkedRefMap m_subPages
bool hasSubPages() const override
Definition * getPageScope() const override
static RefListManager & instance()
static RequirementManager & instance()
void addRequirementRefsForSymbol(const Definition *symbol)
class that provide information about a section.
static SectionManager & instance()
returns a reference to the singleton
class that represents a list of constant references to sections.
const_iterator end() const
const_iterator begin() const
constexpr bool isSection() const
constexpr int level() const
Text streaming class that buffers data.
virtual DString trPage(bool first_capital, bool singular)=0
virtual DString trMainPage()=0
#define Config_getBool(name)
#define NON_COPYABLE(cls)
Macro to help implementing the rule of 5 for a non-copyable & movable class.
void docFindSections(const DString &input, const Definition *d, const DString &fileName)
void endFileWithNavPath(OutputList &ol, const DefinitionMutable *d, bool showPageNavigation)
void endFile(OutputList &ol, bool skipNavIndex, bool skipEndContents, const DString &navPath)
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)
Translator * theTranslator
PageDef * toPageDef(Definition *d)
std::unique_ptr< PageDef > createPageDef(const DString &f, int l, const DString &n, const DString &d, const DString &t)
Helper class to pass options when calling OutputList::generateDoc().
DString parseCommentAsText(const Definition *scope, const MemberDef *md, const DString &doc, const DString &fileName, int lineNr)
void addRefItem(const RefItemVector &sli, const DString &key, const DString &prefix, const DString &name, const DString &title, const DString &args, const Definition *scope)
DString convertNameToFile(const DString &name, bool allowDots, bool allowUnderscore)
DString parseCommentAsHtml(const Definition *scope, const MemberDef *member, const DString &doc, const DString &fileName, int lineNr)
void addHtmlExtensionIfMissing(DString &fName)
DString convertToXML(const DString &s, bool keepEntities, const bool citeEntry)
DString escapeCharsInString(const DString &name, bool allowDots, bool allowUnderscore)
A bunch of utility functions.