Package org.eclipse.jface.text.templates
Class TemplateProposal
- java.lang.Object
-
- org.eclipse.jface.text.templates.TemplateProposal
-
- All Implemented Interfaces:
ICompletionProposal
,ICompletionProposalExtension
,ICompletionProposalExtension2
,ICompletionProposalExtension3
public class TemplateProposal extends Object implements ICompletionProposal, ICompletionProposalExtension, ICompletionProposalExtension2, ICompletionProposalExtension3
A template completion proposal.Clients may subclass.
- Since:
- 3.0
-
-
Constructor Summary
Constructors Constructor Description TemplateProposal(Template template, TemplateContext context, IRegion region, Image image)
Creates a template proposal with a template and its context.TemplateProposal(Template template, TemplateContext context, IRegion region, Image image, int relevance)
Creates a template proposal with a template and its context.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
apply(IDocument document)
Deprecated.This method is no longer called by the framework and clients should overwriteapply(ITextViewer, char, int, int)
insteadvoid
apply(IDocument document, char trigger, int offset)
Deprecated.This method is no longer called by the framework and clients should overwriteapply(ITextViewer, char, int, int)
insteadvoid
apply(ITextViewer viewer, char trigger, int stateMask, int offset)
Inserts the template offered by this proposal into the viewer's document and sets up aLinkedModeUI
on the viewer to edit any of the template's unresolved variables.String
getAdditionalProposalInfo()
Returns optional additional information about the proposal.protected TemplateContext
getContext()
Returns the context in which the template was requested.IContextInformation
getContextInformation()
Returns optional context information associated with this proposal.int
getContextInformationPosition()
Returns the position to which the computed context information refers to or-1
if no context information can be provided by this completion proposal.String
getDisplayString()
Returns the string to be displayed in the list of completion proposals.Image
getImage()
Returns the image to be displayed in the list of completion proposals.IInformationControlCreator
getInformationControlCreator()
Returns the information control creator of this completion proposal.int
getPrefixCompletionStart(IDocument document, int completionOffset)
Returns the document offset at which the receiver would insert its proposal.CharSequence
getPrefixCompletionText(IDocument document, int completionOffset)
Returns the string that would be inserted at the position returned fromICompletionProposalExtension3.getPrefixCompletionStart(IDocument, int)
if this proposal was applied.int
getRelevance()
Returns the relevance.protected int
getReplaceEndOffset()
Returns the end offset of the range in the document that will be replaced by applying this template.protected int
getReplaceOffset()
Returns the offset of the range in the document that will be replaced by applying this template.Point
getSelection(IDocument document)
Returns the new selection after the proposal has been applied to the given document in absolute document coordinates.protected Template
getTemplate()
Returns the template of this proposal.char[]
getTriggerCharacters()
Returns the characters which trigger the application of this completion proposal.boolean
isValidFor(IDocument document, int offset)
Returns whether this completion proposal is valid for the given position in the given document.void
selected(ITextViewer viewer, boolean smartToggle)
Called when the proposal is selected.void
setInformationControlCreator(IInformationControlCreator informationControlCreator)
Sets the information control creator for this completion proposal.void
unselected(ITextViewer viewer)
Called when the proposal is unselected.boolean
validate(IDocument document, int offset, DocumentEvent event)
Requests the proposal to be validated with respect to the document event.
-
-
-
Constructor Detail
-
TemplateProposal
public TemplateProposal(Template template, TemplateContext context, IRegion region, Image image)
Creates a template proposal with a template and its context.- Parameters:
template
- the templatecontext
- the context in which the template was requested.region
- the region this proposal is applied toimage
- the icon of the proposal.
-
TemplateProposal
public TemplateProposal(Template template, TemplateContext context, IRegion region, Image image, int relevance)
Creates a template proposal with a template and its context.- Parameters:
template
- the templatecontext
- the context in which the template was requested.image
- the icon of the proposal.region
- the region this proposal is applied torelevance
- the relevance of the proposal
-
-
Method Detail
-
setInformationControlCreator
public final void setInformationControlCreator(IInformationControlCreator informationControlCreator)
Sets the information control creator for this completion proposal.- Parameters:
informationControlCreator
- the information control creator- Since:
- 3.1
-
getTemplate
protected final Template getTemplate()
Returns the template of this proposal.- Returns:
- the template of this proposal
- Since:
- 3.1
-
getContext
protected final TemplateContext getContext()
Returns the context in which the template was requested.- Returns:
- the context in which the template was requested
- Since:
- 3.1
-
apply
@Deprecated public final void apply(IDocument document)
Deprecated.This method is no longer called by the framework and clients should overwriteapply(ITextViewer, char, int, int)
insteadInserts the proposed completion into the given document.- Specified by:
apply
in interfaceICompletionProposal
- Parameters:
document
- the document into which to insert the proposed completion
-
apply
public void apply(ITextViewer viewer, char trigger, int stateMask, int offset)
Inserts the template offered by this proposal into the viewer's document and sets up aLinkedModeUI
on the viewer to edit any of the template's unresolved variables.- Specified by:
apply
in interfaceICompletionProposalExtension2
- Parameters:
viewer
- the text viewer into which to insert the proposed completiontrigger
- the trigger to apply the completionstateMask
- the state mask of the modifiersoffset
- the offset at which the trigger has been activated
-
getReplaceOffset
protected final int getReplaceOffset()
Returns the offset of the range in the document that will be replaced by applying this template.- Returns:
- the offset of the range in the document that will be replaced by applying this template
- Since:
- 3.1
-
getReplaceEndOffset
protected final int getReplaceEndOffset()
Returns the end offset of the range in the document that will be replaced by applying this template.- Returns:
- the end offset of the range in the document that will be replaced by applying this template
- Since:
- 3.1
-
getSelection
public Point getSelection(IDocument document)
Description copied from interface:ICompletionProposal
Returns the new selection after the proposal has been applied to the given document in absolute document coordinates. If it returnsnull
, no new selection is set. A document change can trigger other document changes, which have to be taken into account when calculating the new selection. Typically, this would be done by installing a document listener or by using a document position duringICompletionProposal.apply(IDocument)
.- Specified by:
getSelection
in interfaceICompletionProposal
- Parameters:
document
- the document into which the proposed completion has been inserted- Returns:
- the new selection in absolute document coordinates
-
getAdditionalProposalInfo
public String getAdditionalProposalInfo()
Description copied from interface:ICompletionProposal
Returns optional additional information about the proposal. The additional information will be presented to assist the user in deciding if the selected proposal is the desired choice.If
ICompletionProposalExtension5
is implemented, this method should not be called any longer. This method may be deprecated in a future release.- Specified by:
getAdditionalProposalInfo
in interfaceICompletionProposal
- Returns:
- the additional information or
null
-
getDisplayString
public String getDisplayString()
Description copied from interface:ICompletionProposal
Returns the string to be displayed in the list of completion proposals.- Specified by:
getDisplayString
in interfaceICompletionProposal
- Returns:
- the string to be displayed
- See Also:
ICompletionProposalExtension6.getStyledDisplayString()
,ICompletionProposalExtension7.getStyledDisplayString(IDocument, int, BoldStylerProvider)
-
getImage
public Image getImage()
Description copied from interface:ICompletionProposal
Returns the image to be displayed in the list of completion proposals. The image would typically be shown to the left of the display string.- Specified by:
getImage
in interfaceICompletionProposal
- Returns:
- the image to be shown or
null
if no image is desired
-
getContextInformation
public IContextInformation getContextInformation()
Description copied from interface:ICompletionProposal
Returns optional context information associated with this proposal. The context information will automatically be shown if the proposal has been applied.- Specified by:
getContextInformation
in interfaceICompletionProposal
- Returns:
- the context information for this proposal or
null
-
getRelevance
public int getRelevance()
Returns the relevance.- Returns:
- the relevance
-
getInformationControlCreator
public IInformationControlCreator getInformationControlCreator()
Description copied from interface:ICompletionProposalExtension3
Returns the information control creator of this completion proposal.- Specified by:
getInformationControlCreator
in interfaceICompletionProposalExtension3
- Returns:
- the information control creator, or
null
if no custom control creator is available
-
selected
public void selected(ITextViewer viewer, boolean smartToggle)
Description copied from interface:ICompletionProposalExtension2
Called when the proposal is selected.- Specified by:
selected
in interfaceICompletionProposalExtension2
- Parameters:
viewer
- the text viewer.smartToggle
- the smart toggle key was pressed
-
unselected
public void unselected(ITextViewer viewer)
Description copied from interface:ICompletionProposalExtension2
Called when the proposal is unselected.- Specified by:
unselected
in interfaceICompletionProposalExtension2
- Parameters:
viewer
- the text viewer.
-
validate
public boolean validate(IDocument document, int offset, DocumentEvent event)
Description copied from interface:ICompletionProposalExtension2
Requests the proposal to be validated with respect to the document event. If the proposal cannot be validated, the methods returnsfalse
. If the document event wasnull
, only the caret offset was changed, but not the document. This method replacesICompletionProposalExtension.isValidFor(IDocument, int)
- Specified by:
validate
in interfaceICompletionProposalExtension2
- Parameters:
document
- the documentoffset
- the caret offsetevent
- the document event, may benull
- Returns:
- boolean
-
getPrefixCompletionText
public CharSequence getPrefixCompletionText(IDocument document, int completionOffset)
Description copied from interface:ICompletionProposalExtension3
Returns the string that would be inserted at the position returned fromICompletionProposalExtension3.getPrefixCompletionStart(IDocument, int)
if this proposal was applied. If the replacement string cannot be determined,null
may be returned.- Specified by:
getPrefixCompletionText
in interfaceICompletionProposalExtension3
- Parameters:
document
- the document that the receiver applies tocompletionOffset
- the offset intodocument
where the completion takes place- Returns:
- the replacement string or
null
if it cannot be determined
-
getPrefixCompletionStart
public int getPrefixCompletionStart(IDocument document, int completionOffset)
Description copied from interface:ICompletionProposalExtension3
Returns the document offset at which the receiver would insert its proposal.- Specified by:
getPrefixCompletionStart
in interfaceICompletionProposalExtension3
- Parameters:
document
- the document that the receiver applies tocompletionOffset
- the offset intodocument
where the completion takes place- Returns:
- the offset at which the proposal would insert its proposal
-
apply
@Deprecated public void apply(IDocument document, char trigger, int offset)
Deprecated.This method is no longer called by the framework and clients should overwriteapply(ITextViewer, char, int, int)
insteadApplies the proposed completion to the given document. The insertion has been triggered by entering the given character at the given offset. This method assumes thatICompletionProposalExtension.isValidFor(IDocument, int)
returnstrue
if called foroffset
.- Specified by:
apply
in interfaceICompletionProposalExtension
- Parameters:
document
- the document into which to insert the proposed completiontrigger
- the trigger to apply the completionoffset
- the offset at which the trigger has been activated
-
isValidFor
public boolean isValidFor(IDocument document, int offset)
Description copied from interface:ICompletionProposalExtension
Returns whether this completion proposal is valid for the given position in the given document.- Specified by:
isValidFor
in interfaceICompletionProposalExtension
- Parameters:
document
- the document for which the proposal is testedoffset
- the offset for which the proposal is tested- Returns:
true
iff valid
-
getTriggerCharacters
public char[] getTriggerCharacters()
Description copied from interface:ICompletionProposalExtension
Returns the characters which trigger the application of this completion proposal.- Specified by:
getTriggerCharacters
in interfaceICompletionProposalExtension
- Returns:
- the completion characters for this completion proposal or
null
if no completion other than the new line character is possible
-
getContextInformationPosition
public int getContextInformationPosition()
Description copied from interface:ICompletionProposalExtension
Returns the position to which the computed context information refers to or-1
if no context information can be provided by this completion proposal.- Specified by:
getContextInformationPosition
in interfaceICompletionProposalExtension
- Returns:
- the position to which the context information refers to or
-1
for no information
-
-