diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2020-10-19 18:44:40 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2020-10-20 11:51:24 (GMT) |
commit | d03e8d9411ab3e983fc3413c147fba1a5e5c9dad (patch) | |
tree | d834ff826fdf72e526b3bac2772006583535766c /src/definitionimpl.h | |
parent | 33b0f4d25dff25b0e50d62eff68155106e88d58d (diff) | |
download | Doxygen-d03e8d9411ab3e983fc3413c147fba1a5e5c9dad.zip Doxygen-d03e8d9411ab3e983fc3413c147fba1a5e5c9dad.tar.gz Doxygen-d03e8d9411ab3e983fc3413c147fba1a5e5c9dad.tar.bz2 |
Refactoring: modernize TooltipManager class and source reference lists
- Tooltips are now collected per file instead of globally
- Source reference lists now use STL containers
Diffstat (limited to 'src/definitionimpl.h')
-rw-r--r-- | src/definitionimpl.h | 21 |
1 files changed, 15 insertions, 6 deletions
diff --git a/src/definitionimpl.h b/src/definitionimpl.h index e91d989..c4e6e2a 100644 --- a/src/definitionimpl.h +++ b/src/definitionimpl.h @@ -18,6 +18,9 @@ #ifndef DEFINITIONIMPL_H #define DEFINITIONIMPL_H +#include <unordered_map> +#include <string> + #include "definition.h" class DefinitionImpl : virtual public Definition @@ -71,8 +74,8 @@ class DefinitionImpl : virtual public Definition virtual const RefItemVector &xrefListItems() const; virtual Definition *findInnerCompound(const char *name) const; virtual Definition *getOuterScope() const; - virtual MemberSDict *getReferencesMembers() const; - virtual MemberSDict *getReferencedByMembers() const; + virtual std::vector<const MemberDef *> getReferencesMembers() const; + virtual std::vector<const MemberDef *> getReferencedByMembers() const; virtual bool hasSections() const; virtual bool hasSources() const; virtual bool hasBriefDescription() const; @@ -92,6 +95,8 @@ class DefinitionImpl : virtual public Definition virtual void addSourceReferences(const MemberDef *d); virtual void setRefItems(const RefItemVector &sli); virtual void mergeRefItems(Definition *d); + virtual void mergeReferences(const Definition *other); + virtual void mergeReferencedBy(const Definition *other); virtual void addInnerCompound(const Definition *d); virtual void setOuterScope(Definition *d); virtual void setHidden(bool b); @@ -113,6 +118,7 @@ class DefinitionImpl : virtual public Definition virtual void writeToc(OutputList &ol, const LocalToc <) const; virtual void setCookie(Cookie *cookie) const; virtual Cookie *cookie() const; + virtual void computeTooltip(); protected: @@ -123,8 +129,8 @@ class DefinitionImpl : virtual public Definition virtual QCString _symbolName() const ; int _getXRefListId(const char *listName) const; - void _writeSourceRefList(OutputList &ol,const char *scopeName, - const QCString &text,MemberSDict *members,bool) const; + void _writeSourceRefList(OutputList &ol,const char *scopeName,const QCString &text, + const std::unordered_map<std::string,const MemberDef *> &members,bool) const; void _setBriefDescription(const char *b,const char *briefFile,int briefLine); void _setDocumentation(const char *d,const char *docFile,int docLine,bool stripWhiteSpace,bool atTop); void _setInbodyDocumentation(const char *d,const char *docFile,int docLine); @@ -222,9 +228,9 @@ class DefinitionAliasImpl : virtual public Definition { return m_def->findInnerCompound(name); } virtual Definition *getOuterScope() const { return const_cast<Definition*>(m_scope); } - virtual MemberSDict *getReferencesMembers() const + virtual std::vector<const MemberDef *> getReferencesMembers() const { return m_def->getReferencesMembers(); } - virtual MemberSDict *getReferencedByMembers() const + virtual std::vector<const MemberDef *> getReferencedByMembers() const { return m_def->getReferencedByMembers(); } virtual bool hasSections() const { return m_def->hasSections(); } @@ -254,6 +260,8 @@ class DefinitionAliasImpl : virtual public Definition virtual void addSourceReferences(const MemberDef *) {} virtual void setRefItems(const RefItemVector &) {} virtual void mergeRefItems(Definition *) {} + virtual void mergeReferences(const Definition *) {} + virtual void mergeReferencedBy(const Definition *) {} virtual void addInnerCompound(const Definition *) {} virtual void setOuterScope(Definition *) {} virtual void setHidden(bool) {} @@ -273,6 +281,7 @@ class DefinitionAliasImpl : virtual public Definition virtual void writeToc(OutputList &, const LocalToc &) const {} virtual void setCookie(Cookie *cookie) const { delete m_cookie; m_cookie = cookie; } virtual Cookie *cookie() const { return m_cookie; } + virtual void computeTooltip() {} protected: const Definition *getAlias() const { return m_def; } const Definition *getScope() const { return m_scope; } |