CppEditor: Simplify VirtualFunctionAssist{Processor,Provider}

...by extracting parameters to a dedicated struct.

Change-Id: I2f3b83cbc62a8b4a91b44b3a729d0f0c578b53f2
Reviewed-by: Erik Verbruggen <erik.verbruggen@digia.com>
This commit is contained in:
Nikolai Kosjar
2013-10-23 15:14:28 +02:00
parent f8653a59bc
commit 61c0de88c2
4 changed files with 47 additions and 51 deletions

View File

@@ -35,6 +35,8 @@
#include <cplusplus/CppDocument.h>
#include <cplusplus/Symbols.h>
#include <QTextCursor>
namespace CppEditor {
namespace Internal {
@@ -43,22 +45,24 @@ class VirtualFunctionAssistProvider : public TextEditor::IAssistProvider
public:
VirtualFunctionAssistProvider();
virtual bool configure(CPlusPlus::Class *startClass, CPlusPlus::Function *function,
const CPlusPlus::Snapshot &snapshot, bool openInNextSplit);
CPlusPlus::Class *startClass() const { return m_startClass; }
CPlusPlus::Function *function() const { return m_function; }
CPlusPlus::Snapshot snapshot() const { return m_snapshot; }
bool openInNextSplit() const { return m_openInNextSplit; }
struct Parameters {
Parameters() : startClass(0), function(0), openInNextSplit(false) {}
CPlusPlus::Class *startClass;
CPlusPlus::Function *function;
CPlusPlus::Snapshot snapshot;
bool openInNextSplit;
};
virtual bool configure(const Parameters &parameters);
Parameters params() const { return m_params; }
bool isAsynchronous() const;
bool supportsEditor(const Core::Id &editorId) const;
TextEditor::IAssistProcessor *createProcessor() const;
private:
CPlusPlus::Class *m_startClass;
CPlusPlus::Function *m_function;
CPlusPlus::Snapshot m_snapshot;
bool m_openInNextSplit;
Parameters m_params;
};
class FunctionHelper