File indexing completed on 2024-04-21 15:24:05
0001 /* 0002 SPDX-FileCopyrightText: 2010 Niko Sams <niko.sams@gmail.com> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef PHPCOMPLETIONCODEMODELITEM_H 0008 #define PHPCOMPLETIONCODEMODELITEM_H 0009 0010 #include <language/codecompletion/codecompletionitem.h> 0011 #include <language/duchain/parsingenvironment.h> 0012 #include <serialization/indexedstring.h> 0013 0014 #include "../duchain/completioncodemodel.h" 0015 0016 #include "context.h" 0017 0018 namespace Php 0019 { 0020 struct CompletionCodeModelItem; 0021 class CodeCompletionContext; 0022 0023 class KDEVPHPCOMPLETION_EXPORT CodeModelCompletionItem : public KDevelop::CompletionTreeItem 0024 { 0025 public: 0026 explicit CodeModelCompletionItem(const KDevelop::ParsingEnvironmentFilePointer &, const CompletionCodeModelItem &item); 0027 0028 QVariant data(const QModelIndex& index, int role, const KDevelop::CodeCompletionModel* model) const override; 0029 KTextEditor::CodeCompletionModel::CompletionProperties completionProperties() const override; 0030 void execute(KTextEditor::View* View, const KTextEditor::Range& word) override; 0031 KDevelop::DeclarationPointer declaration() const override; 0032 0033 protected: 0034 CompletionCodeModelItem m_item; 0035 KDevelop::ParsingEnvironmentFilePointer m_env; 0036 mutable KDevelop::DeclarationPointer m_decl; 0037 }; 0038 0039 } 0040 0041 #endif