CodeAssist: Move base position to interface.

Every proposal needs to have a base postion.
Move it to the base class to reduce duplicated code.

Change-Id: I0b1b8282dfe955d251646661f755bf9f585fbad1
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
This commit is contained in:
David Schulz
2016-03-14 13:21:55 +01:00
parent 8d2858d8fe
commit 6e4a719738
6 changed files with 15 additions and 20 deletions

View File

@@ -30,7 +30,7 @@
using namespace TextEditor; using namespace TextEditor;
FunctionHintProposal::FunctionHintProposal(int cursorPos, IFunctionHintProposalModel *model) FunctionHintProposal::FunctionHintProposal(int cursorPos, IFunctionHintProposalModel *model)
: m_basePosition(cursorPos) : IAssistProposal(cursorPos)
, m_model(model) , m_model(model)
{} {}
@@ -42,11 +42,6 @@ bool FunctionHintProposal::isFragile() const
return true; return true;
} }
int FunctionHintProposal::basePosition() const
{
return m_basePosition;
}
bool FunctionHintProposal::isCorrective() const bool FunctionHintProposal::isCorrective() const
{ {
return false; return false;

View File

@@ -39,14 +39,12 @@ public:
~FunctionHintProposal(); ~FunctionHintProposal();
bool isFragile() const override; bool isFragile() const override;
int basePosition() const override;
bool isCorrective() const override; bool isCorrective() const override;
void makeCorrection(TextEditorWidget *editorWidget) override; void makeCorrection(TextEditorWidget *editorWidget) override;
IAssistProposalModel *model() const override; IAssistProposalModel *model() const override;
IAssistProposalWidget *createWidget() const override; IAssistProposalWidget *createWidget() const override;
private: private:
int m_basePosition;
IFunctionHintProposalModel *m_model; IFunctionHintProposalModel *m_model;
}; };

View File

@@ -30,12 +30,12 @@
namespace TextEditor { namespace TextEditor {
GenericProposal::GenericProposal(int cursorPos, GenericProposalModel *model) GenericProposal::GenericProposal(int cursorPos, GenericProposalModel *model)
: m_basePosition(cursorPos) : IAssistProposal(cursorPos)
, m_model(model) , m_model(model)
{} {}
GenericProposal::GenericProposal(int cursorPos, const QList<AssistProposalItemInterface *> &items) GenericProposal::GenericProposal(int cursorPos, const QList<AssistProposalItemInterface *> &items)
: m_basePosition(cursorPos) : IAssistProposal(cursorPos)
, m_model(new GenericProposalModel) , m_model(new GenericProposalModel)
{ {
m_model->loadContent(items); m_model->loadContent(items);
@@ -49,11 +49,6 @@ bool GenericProposal::isFragile() const
return false; return false;
} }
int GenericProposal::basePosition() const
{
return m_basePosition;
}
bool GenericProposal::isCorrective() const bool GenericProposal::isCorrective() const
{ {
return false; return false;

View File

@@ -41,7 +41,6 @@ public:
~GenericProposal(); ~GenericProposal();
bool isFragile() const override; bool isFragile() const override;
int basePosition() const override;
bool isCorrective() const override; bool isCorrective() const override;
void makeCorrection(TextEditorWidget *editorWidget) override; void makeCorrection(TextEditorWidget *editorWidget) override;
IAssistProposalModel *model() const override; IAssistProposalModel *model() const override;
@@ -51,7 +50,6 @@ protected:
void moveBasePosition(int length); void moveBasePosition(int length);
private: private:
int m_basePosition;
GenericProposalModel *m_model; GenericProposalModel *m_model;
}; };

View File

@@ -59,7 +59,8 @@ using namespace TextEditor;
\sa IAssistProposalWidget, IAssistModel \sa IAssistProposalWidget, IAssistModel
*/ */
IAssistProposal::IAssistProposal() IAssistProposal::IAssistProposal(int basePosition)
: m_basePosition(basePosition)
{} {}
IAssistProposal::~IAssistProposal() IAssistProposal::~IAssistProposal()
@@ -79,6 +80,11 @@ IAssistProposal::~IAssistProposal()
Returns the position from which this proposal starts. Returns the position from which this proposal starts.
*/ */
int IAssistProposal::basePosition() const
{
return m_basePosition;
}
/*! /*!
\fn bool TextEditor::IAssistProposal::isCorrective() const \fn bool TextEditor::IAssistProposal::isCorrective() const

View File

@@ -36,15 +36,18 @@ class TextEditorWidget;
class TEXTEDITOR_EXPORT IAssistProposal class TEXTEDITOR_EXPORT IAssistProposal
{ {
public: public:
IAssistProposal(); IAssistProposal(int basePosition);
virtual ~IAssistProposal(); virtual ~IAssistProposal();
int basePosition() const;
virtual bool isFragile() const = 0; virtual bool isFragile() const = 0;
virtual int basePosition() const = 0;
virtual bool isCorrective() const = 0; virtual bool isCorrective() const = 0;
virtual void makeCorrection(TextEditorWidget *editorWidget) = 0; virtual void makeCorrection(TextEditorWidget *editorWidget) = 0;
virtual IAssistProposalModel *model() const = 0; virtual IAssistProposalModel *model() const = 0;
virtual IAssistProposalWidget *createWidget() const = 0; virtual IAssistProposalWidget *createWidget() const = 0;
protected:
int m_basePosition;
}; };
} // TextEditor } // TextEditor