forked from qt-creator/qt-creator
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:
@@ -30,7 +30,7 @@
|
||||
using namespace TextEditor;
|
||||
|
||||
FunctionHintProposal::FunctionHintProposal(int cursorPos, IFunctionHintProposalModel *model)
|
||||
: m_basePosition(cursorPos)
|
||||
: IAssistProposal(cursorPos)
|
||||
, m_model(model)
|
||||
{}
|
||||
|
||||
@@ -42,11 +42,6 @@ bool FunctionHintProposal::isFragile() const
|
||||
return true;
|
||||
}
|
||||
|
||||
int FunctionHintProposal::basePosition() const
|
||||
{
|
||||
return m_basePosition;
|
||||
}
|
||||
|
||||
bool FunctionHintProposal::isCorrective() const
|
||||
{
|
||||
return false;
|
||||
|
||||
@@ -39,14 +39,12 @@ public:
|
||||
~FunctionHintProposal();
|
||||
|
||||
bool isFragile() const override;
|
||||
int basePosition() const override;
|
||||
bool isCorrective() const override;
|
||||
void makeCorrection(TextEditorWidget *editorWidget) override;
|
||||
IAssistProposalModel *model() const override;
|
||||
IAssistProposalWidget *createWidget() const override;
|
||||
|
||||
private:
|
||||
int m_basePosition;
|
||||
IFunctionHintProposalModel *m_model;
|
||||
};
|
||||
|
||||
|
||||
@@ -30,12 +30,12 @@
|
||||
namespace TextEditor {
|
||||
|
||||
GenericProposal::GenericProposal(int cursorPos, GenericProposalModel *model)
|
||||
: m_basePosition(cursorPos)
|
||||
: IAssistProposal(cursorPos)
|
||||
, m_model(model)
|
||||
{}
|
||||
|
||||
GenericProposal::GenericProposal(int cursorPos, const QList<AssistProposalItemInterface *> &items)
|
||||
: m_basePosition(cursorPos)
|
||||
: IAssistProposal(cursorPos)
|
||||
, m_model(new GenericProposalModel)
|
||||
{
|
||||
m_model->loadContent(items);
|
||||
@@ -49,11 +49,6 @@ bool GenericProposal::isFragile() const
|
||||
return false;
|
||||
}
|
||||
|
||||
int GenericProposal::basePosition() const
|
||||
{
|
||||
return m_basePosition;
|
||||
}
|
||||
|
||||
bool GenericProposal::isCorrective() const
|
||||
{
|
||||
return false;
|
||||
|
||||
@@ -41,7 +41,6 @@ public:
|
||||
~GenericProposal();
|
||||
|
||||
bool isFragile() const override;
|
||||
int basePosition() const override;
|
||||
bool isCorrective() const override;
|
||||
void makeCorrection(TextEditorWidget *editorWidget) override;
|
||||
IAssistProposalModel *model() const override;
|
||||
@@ -51,7 +50,6 @@ protected:
|
||||
void moveBasePosition(int length);
|
||||
|
||||
private:
|
||||
int m_basePosition;
|
||||
GenericProposalModel *m_model;
|
||||
};
|
||||
|
||||
|
||||
@@ -59,7 +59,8 @@ using namespace TextEditor;
|
||||
\sa IAssistProposalWidget, IAssistModel
|
||||
*/
|
||||
|
||||
IAssistProposal::IAssistProposal()
|
||||
IAssistProposal::IAssistProposal(int basePosition)
|
||||
: m_basePosition(basePosition)
|
||||
{}
|
||||
|
||||
IAssistProposal::~IAssistProposal()
|
||||
@@ -79,6 +80,11 @@ IAssistProposal::~IAssistProposal()
|
||||
Returns the position from which this proposal starts.
|
||||
*/
|
||||
|
||||
int IAssistProposal::basePosition() const
|
||||
{
|
||||
return m_basePosition;
|
||||
}
|
||||
|
||||
/*!
|
||||
\fn bool TextEditor::IAssistProposal::isCorrective() const
|
||||
|
||||
|
||||
@@ -36,15 +36,18 @@ class TextEditorWidget;
|
||||
class TEXTEDITOR_EXPORT IAssistProposal
|
||||
{
|
||||
public:
|
||||
IAssistProposal();
|
||||
IAssistProposal(int basePosition);
|
||||
virtual ~IAssistProposal();
|
||||
|
||||
int basePosition() const;
|
||||
virtual bool isFragile() const = 0;
|
||||
virtual int basePosition() const = 0;
|
||||
virtual bool isCorrective() const = 0;
|
||||
virtual void makeCorrection(TextEditorWidget *editorWidget) = 0;
|
||||
virtual IAssistProposalModel *model() const = 0;
|
||||
virtual IAssistProposalWidget *createWidget() const = 0;
|
||||
|
||||
protected:
|
||||
int m_basePosition;
|
||||
};
|
||||
|
||||
} // TextEditor
|
||||
|
||||
Reference in New Issue
Block a user