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
ConstructorDescriptionTemplateProposal
(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
Modifier and TypeMethodDescriptionfinal void
Deprecated.void
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.Returns optional additional information about the proposal.protected final TemplateContext
Returns the context in which the template was requested.Returns optional context information associated with this proposal.int
Returns the position to which the computed context information refers to or-1
if no context information can be provided by this completion proposal.Returns the string to be displayed in the list of completion proposals.getImage()
Returns the image to be displayed in the list of completion proposals.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.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
Returns the relevance.protected final int
Returns the end offset of the range in the document that will be replaced by applying this template.protected final int
Returns the offset of the range in the document that will be replaced by applying this template.getSelection
(IDocument document) Returns the new selection after the proposal has been applied to the given document in absolute document coordinates.protected final Template
Returns the template of this proposal.char[]
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.final 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 Details
-
TemplateProposal
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 Details
-
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
Returns the template of this proposal.- Returns:
- the template of this proposal
- Since:
- 3.1
-
getContext
Returns the context in which the template was requested.- Returns:
- the context in which the template was requested
- Since:
- 3.1
-
apply
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
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
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
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
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:
-
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
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
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
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
Description copied from interface:ICompletionProposalExtension2
Called when the proposal is unselected.- Specified by:
unselected
in interfaceICompletionProposalExtension2
- Parameters:
viewer
- the text viewer.
-
validate
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
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
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.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
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
-
apply(ITextViewer, char, int, int)
instead