language/duchain
abstractdeclarationnavigationcontext.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef ABSTRACTDECLARATIONNAVIGATIONCONTEXT_H
00020 #define ABSTRACTDECLARATIONNAVIGATIONCONTEXT_H
00021
00022 #include "abstractnavigationcontext.h"
00023 #include "../duchainpointer.h"
00024 #include "../types/structuretype.h"
00025 #include <language/duchain/declaration.h>
00026
00027 namespace KDevelop {
00028
00029 class KDEVPLATFORMLANGUAGE_EXPORT AbstractDeclarationNavigationContext : public AbstractNavigationContext
00030 {
00031 public:
00032 AbstractDeclarationNavigationContext( DeclarationPointer decl, KDevelop::TopDUContextPointer topContext, AbstractNavigationContext* previousContext = 0 );
00033
00034 virtual QString name() const;
00035 virtual QString html(bool shorten = false);
00036
00037 DeclarationPointer declaration() const;
00038
00041 virtual NavigationContextPointer executeKeyAction(QString key);
00042
00043 protected:
00044 DeclarationPointer m_declaration;
00045
00047 virtual QualifiedIdentifier prettyQualifiedIdentifier(DeclarationPointer decl) const;
00049 Identifier prettyIdentifier(DeclarationPointer decl) const;
00050
00051 static QString stringFromAccess(Declaration::AccessPolicy access);
00052 static QString stringFromAccess(DeclarationPointer decl);
00053 QString declarationName( DeclarationPointer decl ) const;
00054 static QStringList declarationDetails(DeclarationPointer decl);
00055
00059 virtual AbstractType::Ptr typeToShow(AbstractType::Ptr type);
00060
00062 virtual void htmlFunction();
00064 virtual void htmlAdditionalNavigation();
00065
00066 virtual void htmlClass();
00067 virtual void htmlIdentifiedType(AbstractType::Ptr type, const IdentifiedType* idType);
00068
00070 virtual void eventuallyMakeTypeLinks( KDevelop::AbstractType::Ptr type );
00071
00073 void createFullBackwardSearchLink(QString string);
00074
00075 bool m_fullBackwardSearch;
00076 };
00077
00078 }
00079
00080 #endif