forked from qt-creator/qt-creator
CodeAssist: Use settable property for IAssistProposal::isFragile
Removes the need to create yet another subclass (for overriding a virtual method) in some situations. Change-Id: I55d70de60b4f8d127a175d996f797700c2f172a6 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@qt.io>
This commit is contained in:
@@ -106,9 +106,9 @@ public:
|
|||||||
bool openInSplit)
|
bool openInSplit)
|
||||||
: GenericProposal(cursorPos, items)
|
: GenericProposal(cursorPos, items)
|
||||||
, m_openInSplit(openInSplit)
|
, m_openInSplit(openInSplit)
|
||||||
{}
|
{
|
||||||
|
setFragile(true);
|
||||||
bool isFragile() const override { return true; }
|
}
|
||||||
|
|
||||||
IAssistProposalWidget *createWidget() const override
|
IAssistProposalWidget *createWidget() const override
|
||||||
{ return new VirtualFunctionProposalWidget(m_openInSplit); }
|
{ return new VirtualFunctionProposalWidget(m_openInSplit); }
|
||||||
|
@@ -32,16 +32,13 @@ using namespace TextEditor;
|
|||||||
FunctionHintProposal::FunctionHintProposal(int cursorPos, IFunctionHintProposalModel *model)
|
FunctionHintProposal::FunctionHintProposal(int cursorPos, IFunctionHintProposalModel *model)
|
||||||
: IAssistProposal(cursorPos)
|
: IAssistProposal(cursorPos)
|
||||||
, m_model(model)
|
, m_model(model)
|
||||||
{}
|
{
|
||||||
|
setFragile(true);
|
||||||
|
}
|
||||||
|
|
||||||
FunctionHintProposal::~FunctionHintProposal()
|
FunctionHintProposal::~FunctionHintProposal()
|
||||||
{}
|
{}
|
||||||
|
|
||||||
bool FunctionHintProposal::isFragile() const
|
|
||||||
{
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
IAssistProposalModel *FunctionHintProposal::model() const
|
IAssistProposalModel *FunctionHintProposal::model() const
|
||||||
{
|
{
|
||||||
return m_model;
|
return m_model;
|
||||||
|
@@ -38,7 +38,6 @@ public:
|
|||||||
FunctionHintProposal(int cursorPos, IFunctionHintProposalModel *model);
|
FunctionHintProposal(int cursorPos, IFunctionHintProposalModel *model);
|
||||||
~FunctionHintProposal();
|
~FunctionHintProposal();
|
||||||
|
|
||||||
bool isFragile() const override;
|
|
||||||
IAssistProposalModel *model() const override;
|
IAssistProposalModel *model() const override;
|
||||||
IAssistProposalWidget *createWidget() const override;
|
IAssistProposalWidget *createWidget() const override;
|
||||||
|
|
||||||
|
@@ -44,11 +44,6 @@ GenericProposal::GenericProposal(int cursorPos, const QList<AssistProposalItemIn
|
|||||||
GenericProposal::~GenericProposal()
|
GenericProposal::~GenericProposal()
|
||||||
{}
|
{}
|
||||||
|
|
||||||
bool GenericProposal::isFragile() const
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
bool GenericProposal::hasItemsToPropose(const QString &prefix, AssistReason reason) const
|
bool GenericProposal::hasItemsToPropose(const QString &prefix, AssistReason reason) const
|
||||||
{
|
{
|
||||||
if (!prefix.isEmpty()) {
|
if (!prefix.isEmpty()) {
|
||||||
|
@@ -40,7 +40,6 @@ public:
|
|||||||
GenericProposal(int cursorPos, const QList<AssistProposalItemInterface *> &items);
|
GenericProposal(int cursorPos, const QList<AssistProposalItemInterface *> &items);
|
||||||
~GenericProposal();
|
~GenericProposal();
|
||||||
|
|
||||||
bool isFragile() const override;
|
|
||||||
bool hasItemsToPropose(const QString &prefix, AssistReason reason) const override;
|
bool hasItemsToPropose(const QString &prefix, AssistReason reason) const override;
|
||||||
IAssistProposalModel *model() const override;
|
IAssistProposalModel *model() const override;
|
||||||
IAssistProposalWidget *createWidget() const override;
|
IAssistProposalWidget *createWidget() const override;
|
||||||
|
@@ -85,6 +85,11 @@ int IAssistProposal::basePosition() const
|
|||||||
return m_basePosition;
|
return m_basePosition;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool IAssistProposal::isFragile() const
|
||||||
|
{
|
||||||
|
return m_isFragile;
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\fn bool TextEditor::IAssistProposal::isCorrective() const
|
\fn bool TextEditor::IAssistProposal::isCorrective() const
|
||||||
|
|
||||||
@@ -110,6 +115,11 @@ void IAssistProposal::makeCorrection(TextEditorWidget *editorWidget)
|
|||||||
Q_UNUSED(editorWidget);
|
Q_UNUSED(editorWidget);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void IAssistProposal::setFragile(bool fragile)
|
||||||
|
{
|
||||||
|
m_isFragile = fragile;
|
||||||
|
}
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
\fn IAssistModel *TextEditor::IAssistProposal::model() const
|
\fn IAssistModel *TextEditor::IAssistProposal::model() const
|
||||||
|
|
||||||
|
@@ -42,15 +42,17 @@ public:
|
|||||||
virtual ~IAssistProposal();
|
virtual ~IAssistProposal();
|
||||||
|
|
||||||
int basePosition() const;
|
int basePosition() const;
|
||||||
|
bool isFragile() const;
|
||||||
virtual bool hasItemsToPropose(const QString &, AssistReason) const { return true; }
|
virtual bool hasItemsToPropose(const QString &, AssistReason) const { return true; }
|
||||||
virtual bool isFragile() const = 0;
|
|
||||||
virtual bool isCorrective(TextEditorWidget *editorWidget) const;
|
virtual bool isCorrective(TextEditorWidget *editorWidget) const;
|
||||||
virtual void makeCorrection(TextEditorWidget *editorWidget);
|
virtual void makeCorrection(TextEditorWidget *editorWidget);
|
||||||
virtual IAssistProposalModel *model() const = 0;
|
virtual IAssistProposalModel *model() const = 0;
|
||||||
virtual IAssistProposalWidget *createWidget() const = 0;
|
virtual IAssistProposalWidget *createWidget() const = 0;
|
||||||
|
|
||||||
|
void setFragile(bool fragile);
|
||||||
protected:
|
protected:
|
||||||
int m_basePosition;
|
int m_basePosition;
|
||||||
|
bool m_isFragile = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
} // TextEditor
|
} // TextEditor
|
||||||
|
Reference in New Issue
Block a user