Follow Techotopia on Twitter

On-line Guides
All Guides
eBook Store
iOS / Android
Linux for Beginners
Office Productivity
Linux Installation
Linux Security
Linux Utilities
Linux Virtualization
Linux Kernel
System/Network Admin
Programming
Scripting Languages
Development Tools
Web Development
GUI Toolkits/Desktop
Databases
Mail Systems
openSolaris
Eclipse Documentation
Techotopia.com
Virtuatopia.com
Answertopia.com

How To Guides
Virtualization
General System Admin
Linux Security
Linux Filesystems
Web Servers
Graphics & Desktop
PC Hardware
Windows
Problem Solutions
Privacy Policy

  




 

 


Eclipse Platform
Release 3.5

org.eclipse.ui.navigator
Class CommonNavigator


java.lang.Object
  extended by 

org.eclipse.core.commands.common.EventManager
      extended by 

org.eclipse.ui.part.WorkbenchPart
          extended by 

org.eclipse.ui.part.ViewPart
              extended by 
org.eclipse.ui.navigator.CommonNavigator
All Implemented Interfaces:
IAdaptable, IExecutableExtension, IPersistable, ISaveablePart, ISaveablesSource, IViewPart, IWorkbenchPart, IWorkbenchPart2, IWorkbenchPart3, ISetSelectionTarget, IShowInTarget, IWorkbenchPartOrientation
Direct Known Subclasses:
ProjectExplorer

public class CommonNavigator
extends ViewPart
implements ISetSelectionTarget, ISaveablePart, ISaveablesSource, IShowInTarget

This class provides the IViewPart for the Common Navigator framework in the Eclipse workbench. This class also serves as the backbone for navigational viewers. The following types are used by this class to render the Common Navigator:

  • CommonViewer: The viewer that renders the extensible tree. Creates and manages the lifecycle of the Navigator Content Service (described below).

  • NavigatorActionService: Manages instances of CommonActionProviders provided by individual extensions and content extensions.

  • INavigatorContentService: Manages instances of Navigator Content Extensions. Instances are created as needed, and disposed of upon the disposal of the Navigator Content Service.

Clients are not expected to subclass CommonNavigator. Clients that wish to define their own custom extensible navigator view need to specify an instance of the org.eclipse.ui.views extension point:

   
          <extension
                        point="org.eclipse.ui.views">
                <view
                        name="My Custom View"
                        icon="relative/path/to/icon.gif"
                        category="org.acme.mycategory"
                        class="org.eclipse.ui.navigator.CommonNavigator"
                        id="org.acme.MyCustomNavigatorID">
                </view>
          </extension> 
    
 

Clients that wish to extend the view menu provided via the org.eclipse.ui.popupMenus extension may specify the the popupMenuId specified by org.eclipse.ui.navigator.viewer (or a nested popupMenu element) of their target viewer as their target menu id.

This class may be instantiated or subclassed

Since:
3.2

Field Summary
static int IS_LINKING_ENABLED_PROPERTY
           Used to track changes to the isLinkingEnabled property.
protected   IMemento memento
          To allow createCommonViewer(Composite) to be subclassed
 
Fields inherited from interface org.eclipse.ui. ISaveablePart
PROP_DIRTY
 
Fields inherited from interface org.eclipse.ui. IWorkbenchPart
PROP_TITLE
 
Constructor Summary
CommonNavigator ()
           
 
Method Summary
protected   ActionGroup createCommonActionGroup ()
           The ActionGroup is used to populate the ActionBars of Common Navigator View Part, and the returned implementation will have an opportunity to fill the ActionBars of the view as soon as it is created.
protected   CommonNavigatorManager createCommonManager ()
           The Common Navigator Manager handles the setup of the Common Navigator Menu, manages updates to the ActionBars from CommonActionProvider  extensions as the user's selection changes, and also updates the status bar based on the current selection.
protected   CommonViewer createCommonViewer ( Composite aParent)
          Creates and initializes an instance of CommonViewer.
protected   CommonViewer createCommonViewerObject ( Composite aParent)
          Constructs and returns an instance of CommonViewer.
 void createPartControl ( Composite aParent)
           Create the CommonViewer part control and setup the default providers as necessary.
 void dispose ()
           Note: This method is for internal use only.
 void doSave ( IProgressMonitor monitor)
          Saves the contents of this part.
 void doSaveAs ()
          Saves the contents of this part to another object.
  Saveable[] getActiveSaveables ()
          Returns the saveables currently active in the workbench part.
  Object getAdapter ( Class adapter)
          Returns an object which is an instance of the given class associated with this object.
  CommonViewer getCommonViewer ()
           Provides access to the commonViewer used by the current CommonNavigator.
  String getFrameToolTipText ( Object anElement)
           Returns the tool tip text for the given element.
protected   Object getInitialInput ()
          Used to provide the initial input for the CommonViewer.
protected   LinkHelperService getLinkHelperService ()
           
protected   IMemento getMemento ()
           
  NavigatorActionService getNavigatorActionService ()
           
  INavigatorContentService getNavigatorContentService ()
           
 int getRootMode ()
           
  Saveable[] getSaveables ()
          Returns the saveables presented by the workbench part.
  String getWorkingSetLabel ()
           
protected  void handleDoubleClick ( DoubleClickEvent anEvent)
           Note: This method is for internal use only.
 void init ( IViewSite aSite, IMemento aMemento)
           Note: This method is for internal use only.
protected  void initListeners ( TreeViewer viewer)
           Adds the listeners to the Common Viewer.
 boolean isDirty ()
          Returns whether the contents of this part have changed since the last save operation.
 boolean isLinkingEnabled ()
           
 boolean isSaveAsAllowed ()
          Returns whether the "Save As" operation is supported by this part.
 boolean isSaveOnCloseNeeded ()
          Returns whether the contents of this part should be saved when the part is closed.
 void saveState ( IMemento aMemento)
           Note: This method is for internal use only.
 void selectReveal ( ISelection selection)
           Set the selection to the Common Navigator tree, and expand nodes if necessary.
 void setFocus ()
           Force the workbench to focus on the Common Navigator tree.
 void setLinkingEnabled (boolean toEnableLinking)
           Linking is handled by an action which listens for changes to the IS_LINKING_ENABLED_PROPERTY.
 void setRootMode (int mode)
           
 void setWorkingSetLabel ( String label)
           
 boolean show ( ShowInContext context)
          Shows the given context in this target.
 void updateTitle ()
           Updates the title text and title tool tip.
 
Methods inherited from class org.eclipse.ui.part. ViewPart
checkSite, getViewSite, init, 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

IS_LINKING_ENABLED_PROPERTY

public static final int IS_LINKING_ENABLED_PROPERTY

Used to track changes to the isLinkingEnabled property.

Make sure this does not conflict with anything in IWorkbenchPartConstants.

See Also:
Constant Field Values

memento

protected 
IMemento memento
To allow createCommonViewer(Composite) to be subclassed

Since:
3.4
Constructor Detail

CommonNavigator

public CommonNavigator()
Method Detail

createPartControl

public void createPartControl(
Composite aParent)

Create the CommonViewer part control and setup the default providers as necessary.

Specified by:
createPartControl in interface IWorkbenchPart
Specified by:
createPartControl in class WorkbenchPart
Parameters:
aParent - the parent control
See Also:
WorkbenchPart.createPartControl(org.eclipse.swt.widgets.Composite)

updateTitle

public void updateTitle()

Updates the title text and title tool tip. Called whenever the input of the viewer changes.

Since:
3.4

getFrameToolTipText

public 
String getFrameToolTipText(
Object anElement)

Returns the tool tip text for the given element. Used as the tool tip text for the current frame, and for the view title tooltip.

Parameters:
anElement -
Returns:
the tool tip text
Since:
3.4

dispose

public void dispose()

Note: This method is for internal use only. Clients should not call this method.

This method will be invoked when the DisposeListener is notified of the disposal of the Eclipse view part.

Specified by:
dispose in interface IWorkbenchPart
Overrides:
dispose in class WorkbenchPart
See Also:
WorkbenchPart.dispose()

init

public void init(
IViewSite aSite,
                 
IMemento aMemento)
          throws 
PartInitException

Note: This method is for internal use only. Clients should not call this method.

Specified by:
init in interface IViewPart
Overrides:
init in class ViewPart
Parameters:
aSite - the view site
aMemento - the IViewPart state or null if there is no previous saved state
Throws:
PartInitException - if this view was not initialized successfully
See Also:
ViewPart.init(org.eclipse.ui.IViewSite, org.eclipse.ui.IMemento)

saveState

public void saveState(
IMemento aMemento)

Note: This method is for internal use only. Clients should not call this method.

Specified by:
saveState in interface IPersistable
Specified by:
saveState in interface IViewPart
Overrides:
saveState in class ViewPart
Parameters:
aMemento - a memento to receive the object state
See Also:
ViewPart.saveState(org.eclipse.ui.IMemento)

setFocus

public void setFocus()

Force the workbench to focus on the Common Navigator tree.

Specified by:
setFocus in interface IWorkbenchPart
Specified by:
setFocus in class WorkbenchPart
See Also:
WorkbenchPart.setFocus()

selectReveal

public void selectReveal(
ISelection selection)

Set the selection to the Common Navigator tree, and expand nodes if necessary. Use caution when invoking this method as it can cause Navigator Content Extensions to load, thus causing plugin activation.

Specified by:
selectReveal in interface ISetSelectionTarget
Parameters:
selection - the new element to select
See Also:
ISetSelectionTarget.selectReveal(org.eclipse.jface.viewers.ISelection)

setLinkingEnabled

public final void setLinkingEnabled(boolean toEnableLinking)

Linking is handled by an action which listens for changes to the IS_LINKING_ENABLED_PROPERTY. Custom implementations that wish to override this functionality, need to override the action used by the default ActionGroup and listen for changes to the above property.

Parameters:
toEnableLinking - True enables linking the current selection with open editors

isLinkingEnabled

public final boolean isLinkingEnabled()
Returns:
Whether linking the current selection with open editors is enabled.

getCommonViewer

public 
CommonViewer getCommonViewer()

Provides access to the commonViewer used by the current CommonNavigator. The field will not be valid until after init(IViewSite, IMemento) has been called by the Workbench.

Returns:
The (already created) instance of Common Viewer.

getNavigatorContentService

public 
INavigatorContentService getNavigatorContentService()
Returns:
The Navigator Content Service which populates this instance of Common Navigator

getAdapter

public 
Object getAdapter(
Class adapter)
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
Overrides:
getAdapter in class WorkbenchPart
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

getNavigatorActionService

public 
NavigatorActionService getNavigatorActionService()
Returns:
The Navigator Content Service which populates this instance of Common Navigator

createCommonViewer

protected 
CommonViewer createCommonViewer(
Composite aParent)
Creates and initializes an instance of CommonViewer. The ID of the Eclipse view part will be used to create the viewer. The ID is important as some extensions indicate they should only be used with a particular viewer ID.

Parameters:
aParent - A composite parent to contain the Common Viewer
Returns:
An initialized instance of CommonViewer

createCommonViewerObject

protected 
CommonViewer createCommonViewerObject(
Composite aParent)
Constructs and returns an instance of CommonViewer. The ID of the Eclipse view part will be used to create the viewer. Override this method if you want a subclass of the CommonViewer

Parameters:
aParent - A composite parent to contain the CommonViewer
Returns:
An instance of CommonViewer
Since:
3.4

initListeners

protected void initListeners(
TreeViewer viewer)

Adds the listeners to the Common Viewer.

Parameters:
viewer - The viewer
Since:
2.0

handleDoubleClick

protected void handleDoubleClick(
DoubleClickEvent anEvent)

Note: This method is for internal use only. Clients should not call this method.

Parameters:
anEvent - Supplied by the DoubleClick listener.

createCommonManager

protected 
CommonNavigatorManager createCommonManager()

The Common Navigator Manager handles the setup of the Common Navigator Menu, manages updates to the ActionBars from CommonActionProvider  extensions as the user's selection changes, and also updates the status bar based on the current selection.

Returns:
The Common Navigator Manager class which handles menu population and ActionBars
Since:
3.4

createCommonActionGroup

protected 
ActionGroup createCommonActionGroup()

The ActionGroup is used to populate the ActionBars of Common Navigator View Part, and the returned implementation will have an opportunity to fill the ActionBars of the view as soon as it is created. ( ActionGroup.fillActionBars(org.eclipse.ui.IActionBars).

The default implementation returns an action group which will add the following actions:

  • Link with editor support. Allows the user to toggling linking the current selection with the active editors.

  • Collapse all. Collapses all expanded nodes.

  • Select Filters. Provides access to the "Select Filters" dialog that allows users to enable/disable filters and also the Content Extension activations.

Returns:
The Action Group to be associated with the Common Navigator View Part.

getInitialInput

protected 
Object getInitialInput()
Used to provide the initial input for the CommonViewer. By default getSite().getPage().getInput() is used. Subclass this to return your desired input.

Returns:
The initial input for the viewer. Defaults to getSite().getPage().getInput()
Since:
3.4

getSaveables

public 
Saveable[] getSaveables()
Description copied from interface: ISaveablesSource
Returns the saveables presented by the workbench part. If the return value of this method changes during the lifetime of this part (i.e. after initialization and control creation but before disposal) the part must notify an implicit listener using ISaveablesLifecycleListener.handleLifecycleEvent(SaveablesLifecycleEvent).

Additions of saveables to the list of saveables of this part are announced using an event of type SaveablesLifecycleEvent.POST_OPEN. Removals are announced in a two-stage process, first using an event of type SaveablesLifecycleEvent.PRE_CLOSE followed by an event of type SaveablesLifecycleEvent.POST_CLOSE. Since firing the PRE_CLOSE event may trigger prompts to save dirty saveables, the cancellation status of the event must be checked by the part after the notification. When removing only non-dirty saveables, POST_CLOSE notification is sufficient.

The listener is obtained from the part site by calling partSite.getService(ISaveablesLifecycleListener.class).

The part must not notify from its initialization methods (e.g. init or createPartControl), or from its dispose method. Parts that implement IReusableEditor must notify when their input is changed through IReusableEditor.setInput(IEditorInput).

Specified by:
getSaveables in interface ISaveablesSource
Returns:
the saveables presented by the workbench part
See Also:
ISaveablesLifecycleListener

getActiveSaveables

public 
Saveable[] getActiveSaveables()
Description copied from interface: ISaveablesSource
Returns the saveables currently active in the workbench part.

Certain workbench actions, such as Save, target only the active saveables in the active part. For example, the active saveables could be determined based on the current selection in the part.

Specified by:
getActiveSaveables in interface ISaveablesSource
Returns:
the saveables currently active in the workbench part

doSave

public void doSave(
IProgressMonitor monitor)
Description copied from interface: ISaveablePart
Saves the contents of this part.

If the save is successful, the part should fire a property changed event reflecting the new dirty state (PROP_DIRTY property).

If the save is cancelled through user action, or for any other reason, the part should invoke setCancelled on the IProgressMonitor to inform the caller.

This method is long-running; progress and cancellation are provided by the given progress monitor.

Specified by:
doSave in interface ISaveablePart
Parameters:
monitor - the progress monitor

doSaveAs

public void doSaveAs()
Description copied from interface: ISaveablePart
Saves the contents of this part to another object.

Implementors are expected to open a "Save As" dialog where the user will be able to select a new name for the contents. After the selection is made, the contents should be saved to that new name. During this operation a IProgressMonitor should be used to indicate progress.

If the save is successful, the part fires a property changed event reflecting the new dirty state (PROP_DIRTY property).

Specified by:
doSaveAs in interface ISaveablePart

isDirty

public boolean isDirty()
Description copied from interface: ISaveablePart
Returns whether the contents of this part have changed since the last save operation. If this value changes the part must fire a property listener event with PROP_DIRTY.

Note: this method is called often on a part open or part activation switch, for example by actions to determine their enabled status.

Specified by:
isDirty in interface ISaveablePart
Returns:
true if the contents have been modified and need saving, and false if they have not changed since the last save

isSaveAsAllowed

public boolean isSaveAsAllowed()
Description copied from interface: ISaveablePart
Returns whether the "Save As" operation is supported by this part.

Specified by:
isSaveAsAllowed in interface ISaveablePart
Returns:
true if "Save As" is supported, and false if not supported

isSaveOnCloseNeeded

public boolean isSaveOnCloseNeeded()
Description copied from interface: ISaveablePart
Returns whether the contents of this part should be saved when the part is closed.

Specified by:
isSaveOnCloseNeeded in interface ISaveablePart
Returns:
true if the contents of the part should be saved on close, and false if the contents are expendable

show

public boolean show(
ShowInContext context)
Description copied from interface: IShowInTarget
Shows the given context in this target. The target should check the context's selection for elements to show. If there are no relevant elements in the selection, then it should check the context's input.

Specified by:
show in interface IShowInTarget
Parameters:
context - the context to show
Returns:
true if the context could be shown, false otherwise

getLinkHelperService

protected 
LinkHelperService getLinkHelperService()
Since:
3.4

getMemento

protected 
IMemento getMemento()
Since:
3.4

setRootMode

public void setRootMode(int mode)
Parameters:
mode -
Since:
3.4
Restriction:
This method is not intended to be referenced by clients.
Restriction:
This method is not intended to be re-implemented or extended by clients.

getRootMode

public int getRootMode()
Returns:
the root mode
Since:
3.4
Restriction:
This method is not intended to be referenced by clients.
Restriction:
This method is not intended to be re-implemented or extended by clients.

setWorkingSetLabel

public void setWorkingSetLabel(
String label)
Parameters:
label -
Since:
3.4
Restriction:
This method is not intended to be referenced by clients.
Restriction:
This method is not intended to be re-implemented or extended by clients.

getWorkingSetLabel

public 
String getWorkingSetLabel()
Returns:
the working set label
Since:
3.4
Restriction:
This method is not intended to be referenced by clients.
Restriction:
This method is not intended to be re-implemented or extended by clients.

Eclipse Platform
Release 3.5

Guidelines for using Eclipse APIs.

Copyright (c) Eclipse contributors and others 2000, 2008. All rights reserved.


 
 
  Published under the terms of the Eclipse Public License Version 1.0 ("EPL") Design by Interspire