Warning, file /kdevelop/kdev-python/duchain/navigation/declarationnavigationcontext.h was not indexed or was modified since last indexation (in which case cross-reference links may be missing, inaccurate or erroneous).

0001 /*
0002     SPDX-FileCopyrightText: 2007 David Nolden <david.nolden.kdevelop@art-master.de>
0003     SPDX-FileCopyrightText: 2008 Niko Sams <niko.sams@gmail.com>
0004 
0005     SPDX-License-Identifier: LGPL-2.0-only
0006 */
0007 
0008 #ifndef DECLARATIONNAVIGATIONCONTEXT_H
0009 #define DECLARATIONNAVIGATIONCONTEXT_H
0010 
0011 #include <language/duchain/navigation/abstractdeclarationnavigationcontext.h>
0012 #include <language/duchain/navigation/navigationaction.h>
0013 #include <language/duchain/types/abstracttype.h>
0014 #include <language/duchain/duchainpointer.h>
0015 
0016 using namespace KDevelop;
0017 
0018 namespace Python
0019 {
0020 
0021 class DeclarationNavigationContext : public KDevelop::AbstractDeclarationNavigationContext
0022 {
0023     Q_OBJECT
0024 
0025 public:
0026     DeclarationNavigationContext(KDevelop::DeclarationPointer decl, KDevelop::TopDUContextPointer topContext, KDevelop::AbstractNavigationContext* previousContext = nullptr);
0027 
0028     QString m_fullyQualifiedModuleIdentifier;
0029 
0030 protected:
0031     void htmlClass() override;
0032     void htmlIdentifiedType(KDevelop::AbstractType::Ptr type, const KDevelop::IdentifiedType* idType) override;
0033     void eventuallyMakeTypeLinks(AbstractType::Ptr type) override;
0034     QString getLink(const QString& name, DeclarationPointer declaration, NavigationAction::Type actionType);
0035 
0036 private:
0037     QString typeLinkOrString(const AbstractType::Ptr type);
0038 };
0039 
0040 }
0041 
0042 #endif