Class PageSite
- java.lang.Object
-
- org.eclipse.ui.part.PageSite
-
- All Implemented Interfaces:
IAdaptable
,IShellProvider
,org.eclipse.ui.internal.services.INestable
,IWorkbenchSite
,IPageSite
,IServiceLocator
public class PageSite extends Object implements IPageSite, org.eclipse.ui.internal.services.INestable
This implementation ofIPageSite
provides a site for a page within aPageBookView
. Most methods are forwarded to the view's site.
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
activate()
Notifies this service that the component within which it exists has become active.void
deactivate()
Notifies this service that the component within which it exists has become inactive.protected void
dispose()
Disposes of the menu extender contributions.IActionBars
getActionBars()
The PageSite implementation of thisIPageSite
method returns theSubActionBars
for this site.<T> T
getAdapter(Class<T> adapter)
Returns an object which is an instance of the given class associated with this object.IWorkbenchPage
getPage()
Returns the page containing this workbench site.ISelectionProvider
getSelectionProvider()
Returns the selection provider for this workbench site.<T> T
getService(Class<T> key)
Retrieves the service corresponding to the given API.Shell
getShell()
Returns the shell for this workbench site.IWorkbenchWindow
getWorkbenchWindow()
Returns the workbench window containing this workbench site.boolean
hasService(Class<?> key)
Whether this service exists within the scope of this service locator.void
registerContextMenu(String menuID, MenuManager menuMgr, ISelectionProvider selProvider)
Registers a pop-up menu with a particular id for extension.void
setSelectionProvider(ISelectionProvider provider)
Sets the selection provider for this workbench site.
-
-
-
Constructor Detail
-
PageSite
public PageSite(IViewSite parentViewSite)
Creates a new sub view site of the given parent view site.- Parameters:
parentViewSite
- the parent view site
-
-
Method Detail
-
dispose
protected void dispose()
Disposes of the menu extender contributions.
-
getActionBars
public IActionBars getActionBars()
The PageSite implementation of thisIPageSite
method returns theSubActionBars
for this site.- Specified by:
getActionBars
in interfaceIPageSite
- Returns:
- the subactionbars for this site
-
getAdapter
public <T> T getAdapter(Class<T> adapter)
Description copied from interface:IAdaptable
Returns an object which is an instance of the given class associated with this object. Returnsnull
if no such object can be found.Clients may implement this method but should generally call
Adapters.adapt(Object, Class, boolean)
rather than invoking it directly.- Specified by:
getAdapter
in interfaceIAdaptable
- Type Parameters:
T
- the class type- Parameters:
adapter
- 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
-
getPage
public IWorkbenchPage getPage()
Description copied from interface:IWorkbenchSite
Returns the page containing this workbench site.- Specified by:
getPage
in interfaceIWorkbenchSite
- Returns:
- the page containing this workbench site
-
getSelectionProvider
public ISelectionProvider getSelectionProvider()
Description copied from interface:IWorkbenchSite
Returns the selection provider for this workbench site.- Specified by:
getSelectionProvider
in interfaceIWorkbenchSite
- Returns:
- the selection provider, or
null
if none
-
getService
public final <T> T getService(Class<T> key)
Description copied from interface:IServiceLocator
Retrieves the service corresponding to the given API.- Specified by:
getService
in interfaceIServiceLocator
- Parameters:
key
- This is the interface that the service implements. Must not benull
.- Returns:
- The service, or
null
if no such service could be found.
-
getShell
public Shell getShell()
Description copied from interface:IWorkbenchSite
Returns the shell for this workbench site. Not intended to be called from outside the UI thread. Clients should call IWorkbench.getDisplay() to gain access to the display rather than calling getShell().getDisplay().For compatibility, this method will not throw an exception if called from outside the UI thread, but the returned Shell may be wrong.
- Specified by:
getShell
in interfaceIShellProvider
- Specified by:
getShell
in interfaceIWorkbenchSite
- Returns:
- the shell for this workbench site
-
getWorkbenchWindow
public IWorkbenchWindow getWorkbenchWindow()
Description copied from interface:IWorkbenchSite
Returns the workbench window containing this workbench site.- Specified by:
getWorkbenchWindow
in interfaceIWorkbenchSite
- Returns:
- the workbench window containing this workbench site
-
hasService
public final boolean hasService(Class<?> key)
Description copied from interface:IServiceLocator
Whether this service exists within the scope of this service locator. This does not include looking for the service within the scope of the parents. This method can be used to determine whether a particular service supports nesting in this scope.- Specified by:
hasService
in interfaceIServiceLocator
- Parameters:
key
- This is the interface that the service implements. Must not benull
.- Returns:
true
if the service locator can find a service for the given API;false
otherwise.
-
registerContextMenu
public void registerContextMenu(String menuID, MenuManager menuMgr, ISelectionProvider selProvider)
Description copied from interface:IPageSite
Registers a pop-up menu with a particular id for extension.Within the workbench one plug-in may extend the pop-up menus for a view or editor within another plug-in. In order to be eligible for extension, the menu must be registered by calling
registerContextMenu
. Once this has been done the workbench will automatically insert any action extensions which exist.A unique menu id must be provided for each registered menu. This id should be published in the Javadoc for the page.
Any pop-up menu which is registered with the workbench should also define a
GroupMarker
in the registered menu with idIWorkbenchActionConstants.MB_ADDITIONS
. Other plug-ins will use this group as a reference point for insertion. The marker should be defined at an appropriate location within the menu for insertion.- Specified by:
registerContextMenu
in interfaceIPageSite
- Parameters:
menuID
- the menu idmenuMgr
- the menu managerselProvider
- the selection provider
-
setSelectionProvider
public void setSelectionProvider(ISelectionProvider provider)
Description copied from interface:IWorkbenchSite
Sets the selection provider for this workbench site.- Specified by:
setSelectionProvider
in interfaceIWorkbenchSite
- Parameters:
provider
- the selection provider, ornull
to clear it
-
activate
public void activate()
Description copied from interface:org.eclipse.ui.internal.services.INestable
Notifies this service that the component within which it exists has become active. The service should modify its state as appropriate.- Specified by:
activate
in interfaceorg.eclipse.ui.internal.services.INestable
-
deactivate
public void deactivate()
Description copied from interface:org.eclipse.ui.internal.services.INestable
Notifies this service that the component within which it exists has become inactive. The service should modify its state as appropriate.- Specified by:
deactivate
in interfaceorg.eclipse.ui.internal.services.INestable
-
-