public abstract class AbstractTemplatesPage extends Page implements ITemplatesPage, ITemplatesPageExtension
ITemplatesPage
.
Clients who are defining an editor may elect to provide a corresponding templates page. This templates page will be presented to the user via the Templates View (the user decides whether their workbench window contains this view) whenever that editor is active. This class should be subclassed by clients.
Internally, a AbstractTemplatesPage uses the template store to display different categories. A link to editor mode on the templates page allows to filtering of the categories to only that are supported in this context.
Modifier | Constructor and Description |
---|---|
protected |
AbstractTemplatesPage(ITextEditor editor,
ISourceViewer viewer)
Creates a new templates page.
|
Modifier and Type | Method and Description |
---|---|
void |
createControl(Composite ancestor)
Creates the SWT control for this page under the given parent
control.
|
protected SourceViewer |
createPatternViewer(Composite parent)
Creates, configures and returns a source viewer to present the template
pattern on the templates page.
|
void |
dispose()
The
Page implementation of this IPage method
disposes of this page's control (if it has one and it has not already
been disposed). |
protected Template |
editTemplate(Template template,
boolean edit,
boolean isNameModifiable)
Creates and opens a dialog to edit the given template.
|
protected abstract String[] |
getContextTypeIds(IDocument document,
int offset)
Returns the context type ids supported at the given document offset.
|
protected abstract ContextTypeRegistry |
getContextTypeRegistry()
Returns the context type registry used in this page.
|
Control |
getControl()
The
Page implementation of this IPage method returns
null . |
protected Image |
getImage(Template template)
Returns the image to be used for the given template.
|
protected SourceViewer |
getPatternViewer()
Returns the pattern viewer created by createPatternViewer()
|
protected abstract String |
getPreferencePageId()
Returns the Template preference page id to be used by this template page.
|
TemplatePersistenceData[] |
getSelectedTemplates()
Returns the currently selected templates
|
protected abstract IPreferenceStore |
getTemplatePreferenceStore()
Returns the preference store used to create the template store returned by
getTemplateStore() . |
abstract TemplateStore |
getTemplateStore()
Returns the template store used in this page.
|
protected abstract void |
insertTemplate(Template template,
IDocument document)
Inserts the given template into the editor.
|
protected abstract boolean |
isValidTemplate(IDocument document,
Template template,
int offset,
int length)
Checks whether the given template is valid for the document at the given
offset and length.
|
void |
setFocus()
The
Page implementation of this IPage method
does nothing. |
protected void |
updatePatternViewer(Template template)
Update the pattern viewer to show the current template.
|
getSite, init, makeContributions, setActionBars
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getSite, init
setActionBars
protected AbstractTemplatesPage(ITextEditor editor, ISourceViewer viewer)
editor
- the editorviewer
- the source viewerpublic void createControl(Composite ancestor)
IPage
Clients should not call this method (the workbench calls this method when it needs to, which may be never).
createControl
in interface IPage
createControl
in class Page
ancestor
- the parent controlpublic void setFocus()
Page
Page
implementation of this IPage
method
does nothing. Subclasses must implement.public Control getControl()
Page
Page
implementation of this IPage
method returns
null
. Subclasses must reimplement.getControl
in interface IPage
getControl
in class Page
null
if this
page does not have a controlpublic void dispose()
Page
Page
implementation of this IPage
method
disposes of this page's control (if it has one and it has not already
been disposed). Subclasses may extend.protected Image getImage(Template template)
Clients can override to provide a different image.
template
- the templateprotected Template editTemplate(Template template, boolean edit, boolean isNameModifiable)
template
- the template being editededit
- true
if the dialog allows editingisNameModifiable
- true
if the template name may be modifiednull
if the editing failedprotected void updatePatternViewer(Template template)
Subclasses can extend this method to update their own pattern viewer.
template
- the templateprotected SourceViewer createPatternViewer(Composite parent)
Clients may override to provide a custom source viewer featuring e.g. syntax coloring.
parent
- the parent controlprotected final SourceViewer getPatternViewer()
protected abstract void insertTemplate(Template template, IDocument document)
template
- the templatedocument
- the documentprotected abstract ContextTypeRegistry getContextTypeRegistry()
public abstract TemplateStore getTemplateStore()
getTemplateStore
in interface ITemplatesPageExtension
protected abstract IPreferenceStore getTemplatePreferenceStore()
getTemplateStore()
.protected abstract String getPreferencePageId()
null
if none existsprotected abstract String[] getContextTypeIds(IDocument document, int offset)
document
- the documentoffset
- the offsetprotected abstract boolean isValidTemplate(IDocument document, Template template, int offset, int length)
document
- the documenttemplate
- the templateoffset
- the offsetlength
- the lengthtrue
if the template is validpublic TemplatePersistenceData[] getSelectedTemplates()
getSelectedTemplates
in interface ITemplatesPageExtension
Copyright (c) 2000, 2016 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.