Eclipse Platform
Release 3.1

org.eclipse.ui.part
Class MultiPageEditorSite

java.lang.Object
  extended byorg.eclipse.ui.part.MultiPageEditorSite
All Implemented Interfaces:
IAdaptable, IEditorSite, IShellProvider, IWorkbenchPartSite, IWorkbenchSite

public class MultiPageEditorSite
extends Object
implements IEditorSite

Site for a nested editor within a multi-page editor. Selection is handled by forwarding the event to the multi-page editor's selection listeners; most other methods are forwarded to the multi-page editor's site.

The base implementation of MultiPageEditor.createSite creates an instance of this class. This class may be instantiated or subclassed.


Constructor Summary
MultiPageEditorSite(MultiPageEditorPart multiPageEditor, IEditorPart editor)
          Creates a site for the given editor nested within the given multi-page editor.
 
Method Summary
 void dispose()
          Dispose the contributions.
 IEditorActionBarContributor getActionBarContributor()
          The MultiPageEditorSite implementation of this IEditorSite method returns null, since nested editors do not have their own action bar contributor.
 IActionBars getActionBars()
          The MultiPageEditorSite implementation of this IEditorSite method forwards to the multi-page editor to return the action bars.
 Object getAdapter(Class adapter)
          Returns an object which is an instance of the given class associated with this object.
 ILabelDecorator getDecoratorManager()
          Deprecated. use IWorkbench.getDecoratorManager()
 IEditorPart getEditor()
          Returns the nested editor.
 String getId()
          The MultiPageEditorSite implementation of this IWorkbenchPartSite method returns an empty string since the nested editor is not created from the registry.
 IKeyBindingService getKeyBindingService()
          Returns the key binding service in use.
 MultiPageEditorPart getMultiPageEditor()
          Returns the multi-page editor.
 IWorkbenchPage getPage()
          The MultiPageEditorSite implementation of this IWorkbenchPartSite method forwards to the multi-page editor to return the workbench page.
 IWorkbenchPart getPart()
          Returns the part associated with this site
 String getPluginId()
          The MultiPageEditorSite implementation of this IWorkbenchPartSite method returns an empty string since the nested editor is not created from the registry.
 String getRegisteredName()
          The MultiPageEditorSite implementation of this IWorkbenchPartSite method returns an empty string since the nested editor is not created from the registry.
 ISelectionProvider getSelectionProvider()
          The MultiPageEditorSite implementation of this IWorkbenchPartSite method returns the selection provider set by setSelectionProvider.
 Shell getShell()
          The MultiPageEditorSite implementation of this IWorkbenchPartSite method forwards to the multi-page editor to return the shell.
 IWorkbenchWindow getWorkbenchWindow()
          The MultiPageEditorSite implementation of this IWorkbenchPartSite method forwards to the multi-page editor to return the workbench window.
protected  void handleSelectionChanged(SelectionChangedEvent event)
          Handles a selection changed event from the nested editor.
 void progressEnd(Job job)
           
 void progressStart(Job job)
           
 void registerContextMenu(MenuManager menuManager, ISelectionProvider selProvider)
          The MultiPageEditorSite implementation of this IWorkbenchPartSite method forwards to the multi-page editor for registration.
 void registerContextMenu(MenuManager menuManager, ISelectionProvider selectionProvider, boolean includeEditorInput)
           Registers a pop-up menu with the default id for extension.
 void registerContextMenu(String menuID, MenuManager menuMgr, ISelectionProvider selProvider)
          The MultiPageEditorSite implementation of this IWorkbenchPartSite method forwards to the multi-page editor for registration.
 void registerContextMenu(String menuId, MenuManager menuManager, ISelectionProvider selectionProvider, boolean includeEditorInput)
           Registers a pop-up menu with a particular id for extension.
 void setSelectionProvider(ISelectionProvider provider)
          The MultiPageEditorSite implementation of this IWorkbenchPartSite method remembers the selection provider, and also hooks a listener on it, which calls handleSelectionChanged when a selection changed event occurs.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MultiPageEditorSite

public MultiPageEditorSite(MultiPageEditorPart multiPageEditor,
                           IEditorPart editor)
Creates a site for the given editor nested within the given multi-page editor.

Parameters:
multiPageEditor - the multi-page editor
editor - the nested editor
Method Detail

dispose

public void dispose()
Dispose the contributions.


getActionBarContributor

public IEditorActionBarContributor getActionBarContributor()
The MultiPageEditorSite implementation of this IEditorSite method returns null, since nested editors do not have their own action bar contributor.

Specified by:
getActionBarContributor in interface IEditorSite
Returns:
null

getActionBars

public IActionBars getActionBars()
The MultiPageEditorSite implementation of this IEditorSite method forwards to the multi-page editor to return the action bars.

Specified by:
getActionBars in interface IEditorSite
Returns:
The action bars from the parent multi-page editor.

getDecoratorManager

public ILabelDecorator getDecoratorManager()
Deprecated. use IWorkbench.getDecoratorManager()

The MultiPageEditorSite implementation of this IWorkbenchPartSite method forwards to the multi-page editor to return the decorator manager.

Returns:
The decorator from the workbench window.

getEditor

public IEditorPart getEditor()
Returns the nested editor.

Returns:
the nested editor

getId

public String getId()
The MultiPageEditorSite implementation of this IWorkbenchPartSite method returns an empty string since the nested editor is not created from the registry.

Specified by:
getId in interface IWorkbenchPartSite
Returns:
An empty string.

getKeyBindingService

public IKeyBindingService getKeyBindingService()
Description copied from interface: IWorkbenchPartSite
Returns the key binding service in use.

The part will access this service to register all of its actions, to set the active scope.

Specified by:
getKeyBindingService in interface IWorkbenchPartSite
Returns:
the key binding service in use

getMultiPageEditor

public MultiPageEditorPart getMultiPageEditor()
Returns the multi-page editor.

Returns:
the multi-page editor

getPage

public IWorkbenchPage getPage()
The MultiPageEditorSite implementation of this IWorkbenchPartSite method forwards to the multi-page editor to return the workbench page.

Specified by:
getPage in interface IWorkbenchSite
Returns:
The workbench page in which this editor site resides.

getPluginId

public String getPluginId()
The MultiPageEditorSite implementation of this IWorkbenchPartSite method returns an empty string since the nested editor is not created from the registry.

Specified by:
getPluginId in interface IWorkbenchPartSite
Returns:
An empty string.

getRegisteredName

public String getRegisteredName()
The MultiPageEditorSite implementation of this IWorkbenchPartSite method returns an empty string since the nested editor is not created from the registry.

Specified by:
getRegisteredName in interface IWorkbenchPartSite
Returns:
An empty string.

getSelectionProvider

public ISelectionProvider getSelectionProvider()
The MultiPageEditorSite implementation of this IWorkbenchPartSite method returns the selection provider set by setSelectionProvider.

Specified by:
getSelectionProvider in interface IWorkbenchSite
Returns:
The current selection provider.

getShell

public Shell getShell()
The MultiPageEditorSite implementation of this IWorkbenchPartSite method forwards to the multi-page editor to return the shell.

Specified by:
getShell in interface IWorkbenchSite
Returns:
The shell in which this editor site resides.

getWorkbenchWindow

public IWorkbenchWindow getWorkbenchWindow()
The MultiPageEditorSite implementation of this IWorkbenchPartSite method forwards to the multi-page editor to return the workbench window.

Specified by:
getWorkbenchWindow in interface IWorkbenchSite
Returns:
The workbench window in which this editor site resides.

handleSelectionChanged

protected void handleSelectionChanged(SelectionChangedEvent event)
Handles a selection changed event from the nested editor. The default implementation gets the selection provider from the multi-page editor's site, and calls fireSelectionChanged on it (only if it is an instance of MultiPageSelectionProvider), passing a new event object.

Subclasses may extend or reimplement this method.

Parameters:
event - the event

registerContextMenu

public void registerContextMenu(String menuID,
                                MenuManager menuMgr,
                                ISelectionProvider selProvider)
The MultiPageEditorSite implementation of this IWorkbenchPartSite method forwards to the multi-page editor for registration.

Specified by:
registerContextMenu in interface IWorkbenchPartSite
Parameters:
menuID - The identifier for the menu.
menuMgr - The menu manager
selProvider - The selection provider.

registerContextMenu

public void registerContextMenu(MenuManager menuManager,
                                ISelectionProvider selProvider)
The MultiPageEditorSite implementation of this IWorkbenchPartSite method forwards to the multi-page editor for registration.

Specified by:
registerContextMenu in interface IWorkbenchPartSite
Parameters:
menuManager - The menu manager
selProvider - The selection provider.

setSelectionProvider

public void setSelectionProvider(ISelectionProvider provider)
The MultiPageEditorSite implementation of this IWorkbenchPartSite method remembers the selection provider, and also hooks a listener on it, which calls handleSelectionChanged when a selection changed event occurs.

Specified by:
setSelectionProvider in interface IWorkbenchSite
Parameters:
provider - The selection provider.
See Also:
handleSelectionChanged(SelectionChangedEvent)

progressEnd

public void progressEnd(Job job)

progressStart

public void progressStart(Job job)

getAdapter

public Object getAdapter(Class adapter)
Description copied from interface: IAdaptable
Returns an object which is an instance of the given class associated with this object. Returns null if no such object can be found.

Specified by:
getAdapter in interface IAdaptable
Parameters:
adapter - the adapter class to look up
Returns:
a object castable to the given class, or null if this object does not have an adapter for the given class

getPart

public IWorkbenchPart getPart()
Description copied from interface: IWorkbenchPartSite
Returns the part associated with this site

Specified by:
getPart in interface IWorkbenchPartSite
Returns:
the part associated with this site

registerContextMenu

public final void registerContextMenu(String menuId,
                                      MenuManager menuManager,
                                      ISelectionProvider selectionProvider,
                                      boolean includeEditorInput)
Description copied from interface: IEditorSite

Registers a pop-up menu with a particular id for extension. This method should only be called if the target part has more than one context menu to register.

By default, context menus include object contributions based on the editor input for the current editor. It is possible to override this behaviour by calling this method with includeEditorInput as false. This might be desirable for editors that present a localized view of an editor input (e.g., a node in a model editor).

For a detailed description of context menu registration see IWorkbenchPartSite.registerContextMenu(MenuManager, ISelectionProvider)

Specified by:
registerContextMenu in interface IEditorSite
Parameters:
menuId - the menu id; must not be null.
menuManager - the menu manager; must not be null.
selectionProvider - the selection provider; must not be null.
includeEditorInput - Whether the editor input should be included when adding object contributions to this context menu.
See Also:
IWorkbenchPartSite.registerContextMenu(MenuManager, ISelectionProvider)

registerContextMenu

public final void registerContextMenu(MenuManager menuManager,
                                      ISelectionProvider selectionProvider,
                                      boolean includeEditorInput)
Description copied from interface: IEditorSite

Registers a pop-up menu with the default id for extension. The default id is defined as the part id.

By default, context menus include object contributions based on the editor input for the current editor. It is possible to override this behaviour by calling this method with includeEditorInput as false. This might be desirable for editors that present a localized view of an editor input (e.g., a node in a model editor).

For a detailed description of context menu registration see IWorkbenchPartSite.registerContextMenu(MenuManager, ISelectionProvider)

Specified by:
registerContextMenu in interface IEditorSite
Parameters:
menuManager - the menu manager; must not be null.
selectionProvider - the selection provider; must not be null.
includeEditorInput - Whether the editor input should be included when adding object contributions to this context menu.
See Also:
IWorkbenchPartSite.registerContextMenu(MenuManager, ISelectionProvider)

Eclipse Platform
Release 3.1

Guidelines for using Eclipse APIs.

Copyright (c) IBM Corp. and others 2000, 2005. All rights reserved.