File indexing completed on 2024-05-19 15:41:37

0001 /*
0002     SPDX-FileCopyrightText: 2011 Sven Brauch <svenbrauch@googlemail.com>
0003 
0004     SPDX-License-Identifier: GPL-2.0-or-later
0005 */
0006 
0007 #ifndef FUNCTIONDECLARATIONCOMPLETIONITEM_H
0008 #define FUNCTIONDECLARATIONCOMPLETIONITEM_H
0009 
0010 #include <language/codecompletion/normaldeclarationcompletionitem.h>
0011 #include <language/duchain/functiondeclaration.h>
0012 
0013 #include "declaration.h"
0014 
0015 using namespace KDevelop;
0016 
0017 namespace Python {
0018 
0019 class FunctionDeclarationCompletionItem : public Python::PythonDeclarationCompletionItem
0020 {
0021 
0022 public:
0023     FunctionDeclarationCompletionItem(DeclarationPointer decl, KDevelop::CodeCompletionContext::Ptr context);
0024     ~FunctionDeclarationCompletionItem() override;
0025     int argumentHintDepth() const override;
0026     virtual int atArgument() const;
0027     void setAtArgument(int d);
0028     void setDepth(int d);
0029     void setDoNotCall(bool doNotCall);
0030 
0031     QVariant data(const QModelIndex& index, int role, const CodeCompletionModel* model) const override;
0032     void executed(KTextEditor::View* view, const KTextEditor::Range& word) override;
0033 private:
0034     int m_atArgument;
0035     int m_depth;
0036     // indicates that no parentheses should be added when executing this item,
0037     // e.g. for import completion or inheritance
0038     bool m_doNotCall;
0039 };
0040 
0041 }
0042 
0043 #endif // FUNCTIONDECLARATIONCOMPLETIONITEM_H