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

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.compare
Class CompareEditorInput

java.lang.Object
  extended by 
org.eclipse.compare.CompareEditorInput
All Implemented Interfaces:
ICompareContainer, IPropertyChangeNotifier, IAdaptable, IRunnableContext, IRunnableWithProgress, IEditorInput
Direct Known Subclasses:
PageCompareEditorInput, SaveableCompareEditorInput

public abstract class CompareEditorInput
extends Object
implements IEditorInput, IPropertyChangeNotifier, IRunnableWithProgress, ICompareContainer

A compare operation which can present its results in a special editor. Running the compare operation and presenting the results in a compare editor are combined in one class because it allows a client to keep the implementation all in one place while separating it from the innards of a specific UI implementation of compare/merge.

A CompareEditorInput defines methods for the following sequence steps:

  • running a lengthy compare operation under progress monitor control,
  • creating a UI for displaying the model and initializing the some widgets with the compare result,
  • tracking the dirty state of the model in case of merge,
  • saving the model.
The Compare plug-in's openCompareEditor method takes an CompareEditorInput and starts sequencing through the above steps. If the compare result is not empty a new compare editor is opened and takes over the sequence until eventually closed.

The prepareInput method should contain the code of the compare operation. It is executed under control of a progress monitor and can be canceled. If the result of the compare is not empty, that is if there are differences that needs to be presented, the ICompareInput should hold onto them and return them with the getCompareResult method. If the value returned from getCompareResult is not null a compare editor is opened on the ICompareInput with title and title image initialized by the corresponding methods of the ICompareInput.

Creation of the editor's SWT controls is delegated to the createContents method. Here the SWT controls must be created and initialized with the result of the compare operation.

If merging is allowed, the modification state of the compared constituents must be tracked and the dirty state returned from method isSaveNeeded. The value true triggers a subsequent call to save where the modified resources can be saved.

The most important part of this implementation is the setup of the compare/merge UI. The UI uses a simple browser metaphor to present compare results. The top half of the layout shows the structural compare results (e.g. added, deleted, and changed files), the bottom half the content compare results (e.g. textual differences between two files). A selection in the top pane is fed to the bottom pane. If a content viewer is registered for the type of the selected object, this viewer is installed in the pane. In addition if a structure viewer is registered for the selection type the top pane is split vertically to make room for another pane and the structure viewer is installed in it. When comparing Java files this second structure viewer would show the structural differences within a Java file, e.g. added, deleted or changed methods and fields.

Subclasses provide custom setups, e.g. for a Catch-up/Release operation by passing a subclass of CompareConfiguration and by implementing the prepareInput method. If a subclass cannot use the DiffTreeViewer which is installed by default in the top left pane, method createDiffViewer can be overridden.

If subclasses of this class implement ISaveablesSource, the compare editor will pass these models through to the workbench. The editor will still show the dirty indicator if one of these underlying models is dirty. It is the responsibility of subclasses that implement this interface to call setDirty(boolean) when the dirty state of any of the models managed by the subclass change dirty state.

See Also:
CompareUI, CompareEditorInput

Field Summary
static  String DIRTY_STATE
          The name of the "dirty" property (value "DIRTY_STATE").
static  String PROP_SELECTED_EDITION
          The name of the "selected edition" property.
static  String PROP_TITLE
          The name of the "title" property.
static  String PROP_TITLE_IMAGE
          The name of the "title image" property.
 
Constructor Summary
CompareEditorInput ( CompareConfiguration configuration)
          Creates a CompareEditorInput which is initialized with the given compare configuration.
 
Method Summary
 void addCompareInputChangeListener ( ICompareInput input, ICompareInputChangeListener listener)
          Register for change events for the given compare input.
 void addPropertyChangeListener ( IPropertyChangeListener listener)
          Adds a listener for property changes to this notifier.
 boolean belongsTo ( Object family)
          Return whether this input belongs to the given family when it is run as a job.
 void cancelPressed ()
          The CANCEL button was pressed in a dialog.
 boolean canRunAsJob ()
          Return whether this compare editor input can be run as a job.
protected  void contentsCreated ()
          Callback that occurs after the control for the input has been created.
 void contributeToToolBar ( ToolBarManager toolBarManager)
          Adds standard actions to the given ToolBarManager.
  Control createContents ( Composite parent)
          Create the SWT controls that are used to display the result of the compare operation.
  Viewer createDiffViewer ( Composite parent)
          Factory method for creating a differences viewer for the top left pane.
  Control createOutlineContents ( Composite parent, int direction)
           
protected   CompareViewerPane createStructureInputPane ( Composite parent)
          Create the pane that will contain the structure input pane (upper left).
 void dispose ()
          Disposes this editor input.
 boolean exists ()
          Returns false to indicate that this input should not appear in the "File Most Recently Used" menu.
  Viewer findContentViewer ( Viewer oldViewer, ICompareInput input, Composite parent)
          Implements the dynamic viewer switching for content viewers.
  Viewer findStructureViewer ( Viewer oldViewer, ICompareInput input, Composite parent)
          Implements the dynamic viewer switching for structure viewers.
protected  void firePropertyChange ( PropertyChangeEvent event)
          Fire the given property change event to all listeners registered with this compare editor input.
protected  void flushViewers ( IProgressMonitor monitor)
          Flush the viewer contents into the input.
  IActionBars getActionBars ()
          Return the action bars for the container or null if the container does not have an action bars.
  Object getAdapter ( Class adapter)
          Returns an object which is an instance of the given class associated with this object.
  String getCancelButtonLabel ()
          Return the label used for the CANCEL button when this input is shown in a compare dialog using CompareUI.openCompareDialog(CompareEditorInput).
  CompareConfiguration getCompareConfiguration ()
          Returns the configuration object for the viewers within the compare editor.
  Object getCompareResult ()
          Returns the compare result computed by the most recent call to the run method.
  ICompareContainer getContainer ()
          Return the container of this input or null if there is no container set.
 org.eclipse.compare.internal.ViewerDescriptor getContentViewerDescriptor ()
           
  ImageDescriptor getImageDescriptor ()
          Returns the image descriptor for this input.
  String getMessage ()
           
  String getName ()
          Returns the name of this editor input for display purposes.
  ICompareNavigator getNavigator ()
          Return the ICompareNavigator associated with this container or null if the container does not have a global navigator.
  String getOKButtonLabel ()
          Return the label to be used for the OK button when this input is displayed in a dialog.
  IPersistableElement getPersistable ()
          Returns null since this editor cannot be persisted.
  Object getSelectedEdition ()
          Return the selected edition or null if no edition is selected.
  IServiceLocator getServiceLocator ()
          Return the service locator for the container or null if the container does not have one.
 org.eclipse.compare.internal.ViewerDescriptor getStructureViewerDescriptor ()
           
  String getTitle ()
          Returns the title which will be used in the compare editor's title bar.
  Image getTitleImage ()
          Returns the title image which will be used in the compare editor's title bar.
  String getToolTipText ()
          Returns the tool tip text for this editor input.
  IWorkbenchPart getWorkbenchPart ()
          Return the workbench part associated with this container or null if there is no part or it is not available.
protected  void handleDispose ()
          Callback that occurs when the UI associated with this compare editor input is disposed.
 boolean isDirty ()
          Returns true if there are unsaved changes.
 boolean isEditionSelectionDialog ()
          Return whether this input is intended to be used to select a particular edition of an element in a dialog.
 boolean isSaveNeeded ()
          Returns true if there are unsaved changes.
 boolean okPressed ()
          The OK button was pressed in a dialog.
protected abstract   Object prepareInput ( IProgressMonitor monitor)
          Runs the compare operation and returns the compare result.
 void registerContextMenu ( MenuManager menu, ISelectionProvider selectionProvider)
          Register the content menu with the container to give the container a chance to add additional items to the context menu such as popup menu object contributions.
 void removeCompareInputChangeListener ( ICompareInput input, ICompareInputChangeListener listener)
          Remove the change listener from the given compare input.
 void removePropertyChangeListener ( IPropertyChangeListener listener)
          Removes the given content change listener from this notifier.
 void run (boolean fork, boolean cancelable, IRunnableWithProgress runnable)
           Runs the given IRunnableWithProgress in this context.
 void run ( IProgressMonitor monitor)
          Runs the compare operation and stores the compare result.
 void runAsynchronously ( IRunnableWithProgress runnable)
          Queue the given task to be run asynchronously.
 void save ( IProgressMonitor pm)
          Deprecated. Override method saveChanges instead.
 void saveChanges ( IProgressMonitor monitor)
          Save any unsaved changes.
 void setContainer ( ICompareContainer container)
          Set the container of this input to the given container
 void setContentViewerDescriptor (org.eclipse.compare.internal.ViewerDescriptor vd)
           
 void setDirty (boolean dirty)
          Sets the dirty state of this input to the given value and sends out a PropertyChangeEvent if the new value differs from the old value.
 void setFocus ()
          Deprecated. Please use setFocus2() instead.
 boolean setFocus2 ()
          Asks this input to take focus within its container (editor).
 void setHelpContextId ( String helpContextId)
          Set the help context id for this input.
protected  void setMessage ( String message)
           
 void setStatusMessage ( String message)
          Set the status message displayed by the container to the given message
 void setStructureViewerDescriptor (org.eclipse.compare.internal.ViewerDescriptor vd)
           
 void setTitle ( String title)
          Sets the title which will be used when presenting the compare result.
 
Methods inherited from class java.lang. Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DIRTY_STATE

public static final 
String DIRTY_STATE
The name of the "dirty" property (value "DIRTY_STATE").

See Also:
Constant Field Values

PROP_TITLE

public static final 
String PROP_TITLE
The name of the "title" property. This property is fired when the title of the compare input changes. Clients should also re-obtain the tool tip when this property changes.

Since:
3.3
See Also:
getTitle()

PROP_TITLE_IMAGE

public static final 
String PROP_TITLE_IMAGE
The name of the "title image" property. This property is fired when the title image of the compare input changes.

Since:
3.3
See Also:
getTitleImage()

PROP_SELECTED_EDITION

public static final 
String PROP_SELECTED_EDITION
The name of the "selected edition" property. This property is fired when the selected edition of the compare input changes.

Since:
3.3
See Also:
isEditionSelectionDialog(), getSelectedEdition()
Constructor Detail

CompareEditorInput

public CompareEditorInput(
CompareConfiguration configuration)
Creates a CompareEditorInput which is initialized with the given compare configuration. The compare configuration is passed to subsequently created viewers.

Parameters:
configuration - the compare configuration
Method Detail

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

getNavigator

public 
ICompareNavigator getNavigator()
Description copied from interface: ICompareContainer
Return the ICompareNavigator associated with this container or null if the container does not have a global navigator.

Specified by:
getNavigator in interface ICompareContainer
Returns:
the ICompareNavigator associated with this container or null

getImageDescriptor

public 
ImageDescriptor getImageDescriptor()
Description copied from interface: IEditorInput
Returns the image descriptor for this input.

Note: although a null return value has never been permitted from this method, there are many known buggy implementations that return null. Clients that need the image for an editor are advised to use IWorkbenchPart.getImage() instead of IEditorInput.getImageDescriptor(), or to recover from a null return value in a manner that records the ID of the problematic editor input. Implementors that have been returning null from this method should pick some other default return value (such as ImageDescriptor.getMissingImageDescriptor()).

Specified by:
getImageDescriptor in interface IEditorInput
Returns:
the image descriptor for this input; may be null if there is no image.

getToolTipText

public 
String getToolTipText()
Description copied from interface: IEditorInput
Returns the tool tip text for this editor input. This text is used to differentiate between two input with the same name. For instance, MyClass.java in folder X and MyClass.java in folder Y. The format of the text varies between input types.

Specified by:
getToolTipText in interface IEditorInput
Returns:
the tool tip text; never null.

getName

public 
String getName()
Description copied from interface: IEditorInput
Returns the name of this editor input for display purposes.

For instance, when the input is from a file, the return value would ordinarily be just the file name.

Specified by:
getName in interface IEditorInput
Returns:
the name string; never null;

getPersistable

public 
IPersistableElement getPersistable()
Returns null since this editor cannot be persisted.

Specified by:
getPersistable in interface IEditorInput
Returns:
null because this editor cannot be persisted

exists

public boolean exists()
Returns false to indicate that this input should not appear in the "File Most Recently Used" menu.

Specified by:
exists in interface IEditorInput
Returns:
false

setMessage

protected void setMessage(
String message)

getMessage

public 
String getMessage()

getTitle

public 
String getTitle()
Returns the title which will be used in the compare editor's title bar. It can be set with setTitle.

Returns:
the title

setTitle

public void setTitle(
String title)
Sets the title which will be used when presenting the compare result. This method must be called before the editor is opened.

Parameters:
title - the title to use for the CompareEditor

getTitleImage

public 
Image getTitleImage()
Returns the title image which will be used in the compare editor's title bar. Returns the title image which will be used when presenting the compare result. This implementation returns a generic compare icon. Subclasses can override.

Returns:
the title image, or null if none

getCompareConfiguration

public 
CompareConfiguration getCompareConfiguration()
Returns the configuration object for the viewers within the compare editor. Returns the configuration which was passed to the constructor.

Returns:
the compare configuration

contributeToToolBar

public void contributeToToolBar(
ToolBarManager toolBarManager)
Adds standard actions to the given ToolBarManager.

Subclasses may override to add their own actions.

Parameters:
toolBarManager - the ToolBarManager to which to contribute

run

public void run(
IProgressMonitor monitor)
         throws 
InterruptedException,
                
InvocationTargetException
Runs the compare operation and stores the compare result.

Specified by:
run in interface IRunnableWithProgress
Parameters:
monitor - the progress monitor to use to display progress and receive requests for cancelation
Throws:
InvocationTargetException - if the prepareInput method must propagate a checked exception, it should wrap it inside an InvocationTargetException; runtime exceptions are automatically wrapped in an InvocationTargetException by the calling context
InterruptedException - if the operation detects a request to cancel, using IProgressMonitor.isCanceled(), it should exit by throwing InterruptedException
See Also:
IRunnableContext.run(boolean, boolean, org.eclipse.jface.operation.IRunnableWithProgress)

prepareInput

protected abstract 
Object prepareInput(
IProgressMonitor monitor)
                                throws 
InvocationTargetException,
                                       
InterruptedException
Runs the compare operation and returns the compare result. If null is returned no differences were found and no compare editor needs to be opened. Progress should be reported to the given progress monitor. A request to cancel the operation should be honored and acknowledged by throwing InterruptedException.

Note: this method is typically called in a modal context thread which doesn't have a Display assigned. Implementors of this method shouldn't therefore allocated any SWT resources in this method.

Parameters:
monitor - the progress monitor to use to display progress and receive requests for cancelation
Returns:
the result of the compare operation, or null if there are no differences
Throws:
InvocationTargetException - if the prepareInput method must propagate a checked exception, it should wrap it inside an InvocationTargetException; runtime exceptions are automatically wrapped in an InvocationTargetException by the calling context
InterruptedException - if the operation detects a request to cancel, using IProgressMonitor.isCanceled(), it should exit by throwing InterruptedException

getCompareResult

public 
Object getCompareResult()
Returns the compare result computed by the most recent call to the run method. Returns null if no differences were found.

Returns:
the compare result prepared in method prepareInput or null if there were no differences

createContents

public 
Control createContents(
Composite parent)
Create the SWT controls that are used to display the result of the compare operation. Creates the SWT Controls and sets up the wiring between the individual panes. This implementation creates all four panes but makes only the necessary ones visible. Finally it feeds the compare result into the top left structure viewer and the content viewer.

Subclasses may override if they need to change the layout or wiring between panes.

Parameters:
parent - the parent control under which the control must be created
Returns:
the SWT control hierarchy for the compare editor

dispose

public void dispose()
Disposes this editor input. Clients should not call this method. The Compare Editor calls this method at appropriate times i.e. when disposing.

Since:
3.5
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.

handleDispose

protected void handleDispose()
Callback that occurs when the UI associated with this compare editor input is disposed. This method will only be invoked if the UI has been created (i.e. after the call to createContents(Composite). Subclasses can extend this method but ensure that the overridden method is invoked.

Since:
3.3

contentsCreated

protected void contentsCreated()
Callback that occurs after the control for the input has been created. If this method gets invoked then handleDispose() will be invoked when the control is disposed. Subclasses may extend this method to register any listeners that need to be de-registered when the input is disposed.

Since:
3.3

createOutlineContents

public 
Control createOutlineContents(
Composite parent,
                                     int direction)
Parameters:
parent - the parent control under which the control must be created
direction - the layout direction of the contents, either SWT.HORIZONTAL or SWT.VERTICAL
Returns:
the SWT control hierarchy for the outline part of the compare editor
Since:
3.0

createStructureInputPane

protected 
CompareViewerPane createStructureInputPane(
Composite parent)
Create the pane that will contain the structure input pane (upper left). By default, a CompareViewerSwitchingPane is returned. Subclasses may override to provide an alternate pane.

Parameters:
parent - the parent composite
Returns:
the structure input pane
Since:
3.3

setFocus

public void setFocus()
Deprecated. Please use setFocus2() instead.

Asks this input to take focus within its container (editor).

Restriction:
Clients should not call this method but they may override if they implement a different layout with different visual components. Clients are free to call the inherited method.

setFocus2

public boolean setFocus2()
Asks this input to take focus within its container (editor).

Returns:
true if the input got focus, and false if it was unable to.
Since:
3.5
Restriction:
Clients should not call this method but they may override if they implement a different layout with different visual components. Clients are free to call the inherited method.

createDiffViewer

public 
Viewer createDiffViewer(
Composite parent)
Factory method for creating a differences viewer for the top left pane. It is called from createContents and returns a DiffTreeViewer.

Subclasses may override if they need a different viewer.

Parameters:
parent - the SWT parent control under which to create the viewer's SWT controls
Returns:
a compare viewer for the top left pane

findStructureViewer

public 
Viewer findStructureViewer(
Viewer oldViewer,
                                  
ICompareInput input,
                                  
Composite parent)
Implements the dynamic viewer switching for structure viewers. The method must return a compare viewer based on the old (or current) viewer and a new input object. If the old viewer is suitable for showing the new input the old viewer can be returned. Otherwise a new viewer must be created under the given parent composite or null can be returned to indicate that no viewer could be found.

This implementation forwards the request to CompareUI.findStructureViewer.

Subclasses may override to implement a different strategy.

Parameters:
oldViewer - a new viewer is only created if this old viewer cannot show the given input
input - the input object for which to find a structure viewer
parent - the SWT parent composite under which the new viewer is created
Returns:
a compare viewer which is suitable for the given input object or null

findContentViewer

public 
Viewer findContentViewer(
Viewer oldViewer,
                                
ICompareInput input,
                                
Composite parent)
Implements the dynamic viewer switching for content viewers. The method must return a compare viewer based on the old (or current) viewer and a new input object. If the old viewer is suitable for showing the new input the old viewer can be returned. Otherwise a new viewer must be created under the given parent composite or null can be returned to indicate that no viewer could be found.

This implementation forwards the request to CompareUI.findContentViewer.

Subclasses may override to implement a different strategy.

Parameters:
oldViewer - a new viewer is only created if this old viewer cannot show the given input
input - the input object for which to find a structure viewer
parent - the SWT parent composite under which the new viewer is created
Returns:
a compare viewer which is suitable for the given input object or null

setContentViewerDescriptor

public void setContentViewerDescriptor(org.eclipse.compare.internal.ViewerDescriptor vd)
Parameters:
vd - the content viewer descriptor
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.

getContentViewerDescriptor

public org.eclipse.compare.internal.ViewerDescriptor getContentViewerDescriptor()
Returns:
the content viewer descriptor set for the input
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.

setStructureViewerDescriptor

public void setStructureViewerDescriptor(org.eclipse.compare.internal.ViewerDescriptor vd)
Parameters:
vd - the structure viewer descriptor
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.

getStructureViewerDescriptor

public org.eclipse.compare.internal.ViewerDescriptor getStructureViewerDescriptor()
Returns:
the structure viewer descriptor set for the input
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.

isSaveNeeded

public boolean isSaveNeeded()
Returns true if there are unsaved changes. The value returned is the value of the DIRTY_STATE property of this input object. Returns true if this input has unsaved changes, that is if setDirty(true) has been called. Subclasses don't have to override if the functionality provided by setDirty is sufficient.

Returns:
true if there are changes that need to be saved

isDirty

public boolean isDirty()
Returns true if there are unsaved changes. The method should be called by any parts or dialogs that contain the input. By default, this method calls isSaveNeeded() but subclasses may extend.

Returns:
true if there are unsaved changes
Since:
3.3

setDirty

public void setDirty(boolean dirty)
Sets the dirty state of this input to the given value and sends out a PropertyChangeEvent if the new value differs from the old value.

Parameters:
dirty - the dirty state for this compare input

addPropertyChangeListener

public void addPropertyChangeListener(
IPropertyChangeListener listener)
Description copied from interface: IPropertyChangeNotifier
Adds a listener for property changes to this notifier. Has no effect if an identical listener is already registered.

Specified by:
addPropertyChangeListener in interface IPropertyChangeNotifier
Parameters:
listener - a property change listener

removePropertyChangeListener

public void removePropertyChangeListener(
IPropertyChangeListener listener)
Description copied from interface: IPropertyChangeNotifier
Removes the given content change listener from this notifier. Has no effect if the identical listener is not registered.

Specified by:
removePropertyChangeListener in interface IPropertyChangeNotifier
Parameters:
listener - a property change listener

save

public void save(
IProgressMonitor pm)
Deprecated. Override method saveChanges instead.

Save any unsaved changes. Empty implementation. Subclasses must override to save any changes.

Parameters:
pm - an IProgressMonitor that the implementation of save may use to show progress

saveChanges

public void saveChanges(
IProgressMonitor monitor)
                 throws 
CoreException
Save any unsaved changes. Subclasses must override to save any changes. This implementation tries to flush changes in all viewers by calling ISavable.save on them.

Parameters:
monitor - an IProgressMonitor that the implementation of save may use to show progress
Throws:
CoreException
Since:
2.0

flushViewers

protected void flushViewers(
IProgressMonitor monitor)
Flush the viewer contents into the input.

Parameters:
monitor - a progress monitor
Since:
3.3

addCompareInputChangeListener

public void addCompareInputChangeListener(
ICompareInput input,
                                          
ICompareInputChangeListener listener)
Description copied from interface: ICompareContainer
Register for change events for the given compare input. Although clients can register with the compare input directly, registering through the container allows for deterministic and optimized behavior in some cases. Registering multiple times for the same compare input has no effect.

Specified by:
addCompareInputChangeListener in interface ICompareContainer
Parameters:
input - the compare input
listener - the compare input change listener

removeCompareInputChangeListener

public void removeCompareInputChangeListener(
ICompareInput input,
                                             
ICompareInputChangeListener listener)
Description copied from interface: ICompareContainer
Remove the change listener from the given compare input. Removing a listener that is not registered has no effect.

Specified by:
removeCompareInputChangeListener in interface ICompareContainer
Parameters:
input - the compare input
listener - the compare input change listener

registerContextMenu

public void registerContextMenu(
MenuManager menu,
                                
ISelectionProvider selectionProvider)
Description copied from interface: ICompareContainer
Register the content menu with the container to give the container a chance to add additional items to the context menu such as popup menu object contributions. The provided menu should have a IWorkbenchActionConstants.MB_ADDITIONS separator as this is where the container will add actions.

Specified by:
registerContextMenu in interface ICompareContainer
Parameters:
menu - the menu being registered
selectionProvider - the selection provider

setStatusMessage

public void setStatusMessage(
String message)
Description copied from interface: ICompareContainer
Set the status message displayed by the container to the given message

Specified by:
setStatusMessage in interface ICompareContainer
Parameters:
message - the status message

getActionBars

public 
IActionBars getActionBars()
Description copied from interface: ICompareContainer
Return the action bars for the container or null if the container does not have an action bars.

Specified by:
getActionBars in interface ICompareContainer
Returns:
the action bars for the container or null

getServiceLocator

public 
IServiceLocator getServiceLocator()
Description copied from interface: ICompareContainer
Return the service locator for the container or null if the container does not have one.

Specified by:
getServiceLocator in interface ICompareContainer
Returns:
the service locator for the container or null

getWorkbenchPart

public 
IWorkbenchPart getWorkbenchPart()
Description copied from interface: ICompareContainer
Return the workbench part associated with this container or null if there is no part or it is not available.

Specified by:
getWorkbenchPart in interface ICompareContainer
Returns:
the workbench part associated with this container or null

run

public void run(boolean fork,
                boolean cancelable,
                
IRunnableWithProgress runnable)
         throws 
InvocationTargetException,
                
InterruptedException
Description copied from interface: IRunnableContext

Runs the given IRunnableWithProgress in this context. For example, if this is a ProgressMonitorDialog then the runnable is run using this dialog's progress monitor.

If fork is false, the current thread is used to run the runnable. Note that if fork is true, it is unspecified whether or not this method blocks until the runnable has been run. Implementers should document whether the runnable is run synchronously (blocking) or asynchronously (non-blocking), or if no assumption can be made about the blocking behaviour.

Specified by:
run in interface IRunnableContext
Parameters:
fork - true if the runnable should be run in a separate thread, and false to run in the same thread
cancelable - true to enable the cancelation, and false to make the operation uncancellable
runnable - the runnable to run
Throws:
InvocationTargetException - wraps any exception or error which occurs while running the runnable
InterruptedException - propagated by the context if the runnable acknowledges cancelation by throwing this exception. This should not be thrown if cancelable is false.

runAsynchronously

public void runAsynchronously(
IRunnableWithProgress runnable)
Description copied from interface: ICompareContainer
Queue the given task to be run asynchronously. If the given runnable was previously queued to run asynchronously and it has not yet run, the task position will be moved to the end of the queue. If the task that is being queued is currently running, the running task will be canceled and added to the end of the queue.

This method should be treated as a request to run the given task asynchronously. However, clients should not assume that the code will be run asynchronously. Depending on the container implementation, a call to this method may or may not block the caller until the task is completed. Also, the task may be executed in a modal or non-modal fashion.

Specified by:
runAsynchronously in interface ICompareContainer
Parameters:
runnable - the task to be performed

setContainer

public void setContainer(
ICompareContainer container)
Set the container of this input to the given container

Parameters:
container - the container
Since:
3.3

getContainer

public final 
ICompareContainer getContainer()
Return the container of this input or null if there is no container set.

Returns:
the container of this input or null
Since:
3.3

firePropertyChange

protected void firePropertyChange(
PropertyChangeEvent event)
Fire the given property change event to all listeners registered with this compare editor input.

Parameters:
event - the property change event
Since:
3.3

canRunAsJob

public boolean canRunAsJob()
Return whether this compare editor input can be run as a job. By default, false is returned since traditionally inputs were prepared in the foreground (i.e the UI was blocked when the run(IProgressMonitor) method (and indirectly the prepareInput(IProgressMonitor) method) was invoked. Subclasses may override.

Returns:
whether this compare editor input can be run in the background
Since:
3.3

belongsTo

public boolean belongsTo(
Object family)
Return whether this input belongs to the given family when it is run as a job.

Parameters:
family - the job family
Returns:
whether this input belongs to the given family
Since:
3.3
See Also:
canRunAsJob(), Job.belongsTo(Object)

isEditionSelectionDialog

public boolean isEditionSelectionDialog()
Return whether this input is intended to be used to select a particular edition of an element in a dialog. The result of this method is only consider if neither sides of the input are editable. By default, false is returned.

Returns:
whether this input is intended to be used to select a particular edition of an element in a dialog
Since:
3.3
See Also:
getOKButtonLabel(), okPressed(), getSelectedEdition()

getOKButtonLabel

public 
String getOKButtonLabel()
Return the label to be used for the OK button when this input is displayed in a dialog. By default, different labels are used depending on whether the input is editable or is for edition selection (see isEditionSelectionDialog().

Returns:
the label to be used for the OK button when this input is displayed in a dialog
Since:
3.3

getCancelButtonLabel

public 
String getCancelButtonLabel()
Return the label used for the CANCEL button when this input is shown in a compare dialog using CompareUI.openCompareDialog(CompareEditorInput).

Returns:
the label used for the CANCEL button
Since:
3.3

okPressed

public boolean okPressed()
The OK button was pressed in a dialog. If one or both of the sides of the input is editable then any changes will be saved. If the input is for edition selection (see isEditionSelectionDialog()), it is up to subclasses to override this method in order to perform the appropriate operation on the selected edition.

Returns:
whether the dialog should be closed or not.
Since:
3.3

cancelPressed

public void cancelPressed()
The CANCEL button was pressed in a dialog. By default, nothing is done. Subclasses may override.

Since:
3.3

getSelectedEdition

public 
Object getSelectedEdition()
Return the selected edition or null if no edition is selected. The result of this method should only be considered if isEditionSelectionDialog() returns true.

Returns:
the selected edition or null
Since:
3.3

setHelpContextId

public void setHelpContextId(
String helpContextId)
Set the help context id for this input.

Parameters:
helpContextId - the help context id.
Since:
3.3

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