~bzoltan/kubuntu-packaging/decouple_cmake_plugin

« back to all changes in this revision

Viewing changes to src/plugins/cppeditor/cppvirtualfunctionassistprovider.h

  • Committer: Timo Jyrinki
  • Date: 2013-12-02 09:16:15 UTC
  • mfrom: (1.1.29)
  • Revision ID: timo.jyrinki@canonical.com-20131202091615-xbj1os1f604ber1m
New upstream release candidate.

Show diffs side-by-side

added added

removed removed

Lines of Context:
34
34
 
35
35
#include <cplusplus/CppDocument.h>
36
36
#include <cplusplus/Symbols.h>
 
37
#include <cplusplus/TypeOfExpression.h>
 
38
 
 
39
#include <QSharedPointer>
 
40
#include <QTextCursor>
37
41
 
38
42
namespace CppEditor {
39
43
namespace Internal {
43
47
public:
44
48
    VirtualFunctionAssistProvider();
45
49
 
46
 
    virtual bool configure(CPlusPlus::Class *startClass, CPlusPlus::Function *function,
47
 
        const CPlusPlus::Snapshot &snapshot, bool openInNextSplit);
48
 
    CPlusPlus::Class *startClass() const { return m_startClass; }
49
 
    CPlusPlus::Function *function() const { return m_function; }
50
 
    CPlusPlus::Snapshot snapshot() const { return m_snapshot; }
51
 
    bool openInNextSplit() const { return m_openInNextSplit; }
 
50
    struct Parameters {
 
51
        Parameters() : function(0), staticClass(0), cursorPosition(-1), openInNextSplit(false) {}
 
52
 
 
53
        CPlusPlus::Function *function;
 
54
        CPlusPlus::Class *staticClass;
 
55
        QSharedPointer<CPlusPlus::TypeOfExpression> typeOfExpression; // Keeps instantiated symbols.
 
56
        CPlusPlus::Snapshot snapshot;
 
57
        int cursorPosition;
 
58
        bool openInNextSplit;
 
59
    };
 
60
 
 
61
    virtual bool configure(const Parameters &parameters);
 
62
    Parameters params() const { return m_params; }
 
63
    void clearParams() { m_params = Parameters(); }
52
64
 
53
65
    bool isAsynchronous() const;
54
66
    bool supportsEditor(const Core::Id &editorId) const;
55
67
    TextEditor::IAssistProcessor *createProcessor() const;
56
68
 
57
69
private:
58
 
    CPlusPlus::Class *m_startClass;
59
 
    CPlusPlus::Function *m_function;
60
 
    CPlusPlus::Snapshot m_snapshot;
61
 
    bool m_openInNextSplit;
 
70
    Parameters m_params;
62
71
};
63
72
 
64
73
class FunctionHelper
70
79
    static bool isPureVirtualFunction(const CPlusPlus::Function *function,
71
80
                                      const CPlusPlus::Snapshot &snapshot);
72
81
 
73
 
    static QList<CPlusPlus::Symbol *> overrides(CPlusPlus::Class *startClass,
74
 
                                                CPlusPlus::Function *function,
 
82
    static QList<CPlusPlus::Symbol *> overrides(CPlusPlus::Function *function,
 
83
                                                CPlusPlus::Class *functionsClass,
 
84
                                                CPlusPlus::Class *staticClass,
75
85
                                                const CPlusPlus::Snapshot &snapshot);
76
86
};
77
87