Class TemplatesView
- java.lang.Object
-
- org.eclipse.core.commands.common.EventManager
-
- org.eclipse.ui.part.WorkbenchPart
-
- org.eclipse.ui.part.ViewPart
-
- org.eclipse.ui.part.PageBookView
-
- org.eclipse.ui.texteditor.templates.TemplatesView
-
- All Implemented Interfaces:
IAdaptable
,IExecutableExtension
,IPartListener
,IPersistable
,IViewPart
,IWorkbenchPart
,IWorkbenchPart2
,IWorkbenchPart3
,IWorkbenchPartOrientation
public final class TemplatesView extends PageBookView
The Templates view.hostsITemplatesPage
s that shows the templates for the currently active editor part.When this view notices an editor being activated, it uses the Eclipse adapter mechanism to get its
ITemplatesPage
. Hence, editors that want to provide a templates page need to provide such an adapter:Object getAdapter() { ... if (ITemplatesPage.class.equals(required)) { if (fTemplatesPage == null) fTemplatesPage= new JavaTemplatesPage(this); return fTemplatesPage; } } ... }
Note: This plug-in does not contribute this view. Clients that want to use this view must check whether it is available and if not, contribute this view via extension point using the specified view Id
ID
:<extension point="org.eclipse.ui.views"> <view name="%templatesViewName" icon="$nl$/icons/full/eview16/templates.png" category="org.eclipse.ui" class="org.eclipse.ui.texteditor.templates.TemplatesView" id="org.eclipse.ui.texteditor.TemplatesView"> </view> </extension>
Thetemplates.png
icon can be copied from this plug-in.If the editor supports a templates page, the editor instantiates and configures the page, and returns it. This page is then added to this Templates view and immediately made the current page (the Templates view needs not to be visible). If the editor does not support a templates page, the Templates view shows a special default page which makes it clear to the user that no templates are available. When the Templates view notices a different editor being activated, it flips to the editor's corresponding templates page. When the templates view notices an editor being closed, it may destroy the editor's corresponding templates page.
This class is not intended to be instantiated or subclassed by clients.
- Since:
- 3.4
- Restriction:
- This class is not intended to be instantiated by clients.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.ui.part.PageBookView
PageBookView.PageRec, PageBookView.SelectionProvider
-
-
Field Summary
Fields Modifier and Type Field Description static String
ID
The id for this view.-
Fields inherited from interface org.eclipse.ui.IWorkbenchPart
PROP_TITLE
-
-
Constructor Summary
Constructors Constructor Description TemplatesView()
Creates a templates view.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected IPage
createDefaultPage(PageBook book)
Creates and returns the default page for this view.void
createPartControl(Composite parent)
ThePageBookView
implementation of thisIWorkbenchPart
method creates aPageBook
control with its default page showing.protected PageBookView.PageRec
doCreatePage(IWorkbenchPart part)
Creates a new page in the pagebook for a particular part.protected void
doDestroyPage(IWorkbenchPart part, PageBookView.PageRec rec)
Destroys a page in the pagebook for a particular part.<T> T
getAdapter(Class<T> key)
ThePageBookView
implementation of thisIAdaptable
method delegates to the current page, if it implementsIAdaptable
.protected IWorkbenchPart
getBootstrapPart()
Returns the active, important workbench part for this view.TemplatePersistenceData[]
getSelectedTemplates()
Returns the currently selected templates.TemplateStore
getTemplateStore()
Returns the template store of the current page.protected boolean
isImportant(IWorkbenchPart part)
Returns whether the given part should be added to this view.void
partBroughtToTop(IWorkbenchPart part)
ThePageBookView
implementation of thisIPartListener
method does nothing.-
Methods inherited from class org.eclipse.ui.part.PageBookView
dispose, doesPageExist, getCurrentContributingPart, getCurrentPage, getDefaultPage, getPageBook, getPageRec, getPageRec, getPageSite, getSelectionProvider, getViewAdapter, init, initPage, partActivated, partClosed, partDeactivated, partHidden, partOpened, partVisible, setFocus, showPageRec
-
Methods inherited from class org.eclipse.ui.part.ViewPart
checkSite, getViewSite, init, saveState, setContentDescription, setInitializationData, setPartName
-
Methods inherited from class org.eclipse.ui.part.WorkbenchPart
addPartPropertyListener, addPropertyListener, firePartPropertyChanged, firePropertyChange, getConfigurationElement, getContentDescription, getDefaultImage, getOrientation, getPartName, getPartProperties, getPartProperty, getSite, getTitle, getTitleImage, getTitleToolTip, removePartPropertyListener, removePropertyListener, setPartProperty, setSite, setTitle, setTitleImage, setTitleToolTip, showBusy
-
Methods inherited from class org.eclipse.core.commands.common.EventManager
addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.eclipse.ui.IWorkbenchPart
addPropertyListener, getSite, getTitle, getTitleImage, getTitleToolTip, removePropertyListener
-
-
-
-
Field Detail
-
ID
public static final String ID
The id for this view.Note: Only this id is allowed when contributing this view via extension point.
- See Also:
- Constant Field Values
-
-
Method Detail
-
createDefaultPage
protected IPage createDefaultPage(PageBook book)
Description copied from class:PageBookView
Creates and returns the default page for this view.Subclasses must implement this method.
Subclasses must call initPage with the new page (if it is an
IPageBookViewPage
) before calling createControl on the page.- Specified by:
createDefaultPage
in classPageBookView
- Parameters:
book
- the pagebook control- Returns:
- the default page
-
createPartControl
public void createPartControl(Composite parent)
Description copied from class:PageBookView
ThePageBookView
implementation of thisIWorkbenchPart
method creates aPageBook
control with its default page showing. Subclasses may extend.- Specified by:
createPartControl
in interfaceIWorkbenchPart
- Overrides:
createPartControl
in classPageBookView
- Parameters:
parent
- the parent control
-
doCreatePage
protected PageBookView.PageRec doCreatePage(IWorkbenchPart part)
Description copied from class:PageBookView
Creates a new page in the pagebook for a particular part. This page will be made visible whenever the part is active, and will be destroyed with a call todoDestroyPage
.Subclasses must implement this method.
Subclasses must call initPage with the new page (if it is an
IPageBookViewPage
) before calling createControl on the page.- Specified by:
doCreatePage
in classPageBookView
- Parameters:
part
- the input part- Returns:
- the record describing a new page for this view
- See Also:
PageBookView.doDestroyPage(org.eclipse.ui.IWorkbenchPart, org.eclipse.ui.part.PageBookView.PageRec)
-
doDestroyPage
protected void doDestroyPage(IWorkbenchPart part, PageBookView.PageRec rec)
Description copied from class:PageBookView
Destroys a page in the pagebook for a particular part. This page was returned as a result fromdoCreatePage
.Subclasses must implement this method.
- Specified by:
doDestroyPage
in classPageBookView
- Parameters:
part
- the input partrec
- a page record for the part- See Also:
PageBookView.doCreatePage(org.eclipse.ui.IWorkbenchPart)
-
getBootstrapPart
protected IWorkbenchPart getBootstrapPart()
Description copied from class:PageBookView
Returns the active, important workbench part for this view.When the page book view is created it has no idea which part within the workbook should be used to generate the first page. Therefore, it delegates the choice to subclasses of
PageBookView
.Implementors of this method should return an active, important part in the workbench or
null
if none found.Subclasses must implement this method.
- Specified by:
getBootstrapPart
in classPageBookView
- Returns:
- the active important part, or
null
if none
-
isImportant
protected boolean isImportant(IWorkbenchPart part)
Description copied from class:PageBookView
Returns whether the given part should be added to this view.Subclasses must implement this method.
- Specified by:
isImportant
in classPageBookView
- Parameters:
part
- the input part- Returns:
true
if the part is relevant, andfalse
otherwise
-
partBroughtToTop
public void partBroughtToTop(IWorkbenchPart part)
Description copied from class:PageBookView
ThePageBookView
implementation of thisIPartListener
method does nothing. Subclasses may extend.- Specified by:
partBroughtToTop
in interfaceIPartListener
- Overrides:
partBroughtToTop
in classPageBookView
- Parameters:
part
- the part that was surfaced- See Also:
IWorkbenchPage.bringToTop(org.eclipse.ui.IWorkbenchPart)
-
getAdapter
public <T> T getAdapter(Class<T> key)
Description copied from class:PageBookView
ThePageBookView
implementation of thisIAdaptable
method delegates to the current page, if it implementsIAdaptable
.- Specified by:
getAdapter
in interfaceIAdaptable
- Overrides:
getAdapter
in classPageBookView
- Type Parameters:
T
- the class type- Parameters:
key
- the adapter class to look up- Returns:
- a object of the given class,
or
null
if this object does not have an adapter for the given class
-
getTemplateStore
public TemplateStore getTemplateStore()
Returns the template store of the current page.- Returns:
- the template store, or
null
if the current page does not provide that information - Since:
- 3.6
-
getSelectedTemplates
public TemplatePersistenceData[] getSelectedTemplates()
Returns the currently selected templates.- Returns:
- array of selected templates, or
null
if the current page does not provide that information - Since:
- 3.6
-
-