File indexing completed on 2024-03-24 16:04:11
0001 /* 0002 SPDX-FileCopyrightText: 2007-2008 David Nolden <david.nolden.kdevelop@art-master.de> 0003 SPDX-FileCopyrightText: 2008 Hamish Rodda <rodda@kde.org> 0004 SPDX-FileCopyrightText: 2008 Niko Sams <niko.sams@gmail.com> 0005 0006 SPDX-License-Identifier: LGPL-2.0-or-later 0007 */ 0008 0009 #ifndef PHPCOMPLETIONITEM_H 0010 #define PHPCOMPLETIONITEM_H 0011 0012 #include <KTextEditor/CodeCompletionModel> 0013 0014 #include <language/duchain/duchainpointer.h> 0015 #include <language/codecompletion/normaldeclarationcompletionitem.h> 0016 0017 #include "context.h" 0018 0019 namespace KTextEditor 0020 { 0021 class CodeCompletionModel; 0022 class Document; 0023 class Range; 0024 class Cursor; 0025 } 0026 0027 class QModelIndex; 0028 0029 namespace Php 0030 { 0031 class CodeCompletionContext; 0032 0033 //A completion item used for completion of normal declarations while normal code-completion 0034 class KDEVPHPCOMPLETION_EXPORT NormalDeclarationCompletionItem : public KDevelop::NormalDeclarationCompletionItem 0035 { 0036 public: 0037 explicit NormalDeclarationCompletionItem(KDevelop::DeclarationPointer decl = KDevelop::DeclarationPointer(), 0038 QExplicitlySharedDataPointer<Php::CodeCompletionContext> context = {}, int _inheritanceDepth = 0) 0039 : KDevelop::NormalDeclarationCompletionItem(decl, context, _inheritanceDepth) { 0040 } 0041 0042 0043 QVariant data(const QModelIndex& index, int role, const KDevelop::CodeCompletionModel* model) const override; 0044 0045 protected: 0046 QString declarationName() const override; 0047 void executed(KTextEditor::View* view, const KTextEditor::Range& word) override; 0048 QWidget* createExpandingWidget(const KDevelop::CodeCompletionModel* model) const override; 0049 bool createsExpandingWidget() const override; 0050 0051 QExplicitlySharedDataPointer<Php::CodeCompletionContext> completionContext() const; 0052 }; 0053 0054 } 0055 0056 #endif