Class CompareEditorInput
- All Implemented Interfaces:
- ICompareContainer,- IPropertyChangeNotifier,- IAdaptable,- IRunnableContext,- IRunnableWithProgress,- IEditorInput
- Direct Known Subclasses:
- PageCompareEditorInput,- SaveableCompareEditorInput
 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.
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:
- 
Field SummaryFields
- 
Constructor SummaryConstructorsConstructorDescriptionCompareEditorInput(CompareConfiguration configuration) Creates aCompareEditorInputwhich is initialized with the given compare configuration.
- 
Method SummaryModifier and TypeMethodDescriptionvoidaddCompareInputChangeListener(ICompareInput input, ICompareInputChangeListener listener) Register for change events for the given compare input.voidAdds a listener for property changes to this notifier.booleanReturns whether this input belongs to the given family when it is run as a job.voidTheCANCELbutton was pressed in a dialog.booleanReturns whether this compare editor input can be run as a job.protected voidCallback that occurs after the control for the input has been created.voidcontributeToToolBar(ToolBarManager toolBarManager) Adds standard actions to the givenToolBarManager.createContents(Composite parent) Creates the SWT controls that are used to display the result of the compare operation.protected CompareViewerSwitchingPanecreateContentViewerSwitchingPane(Splitter parent, int style, CompareEditorInput cei) createDiffViewer(Composite parent) Factory method for creating a differences viewer for the top left pane.createOutlineContents(Composite parent, int direction) protected CompareViewerPanecreateStructureInputPane(Composite parent) Create the pane that will contain the structure input pane (upper left).booleanexists()Returnsfalseto indicate that this input should not appear in the "File Most Recently Used" menu.findContentViewer(Viewer oldViewer, ICompareInput input, Composite parent) Implements the dynamic viewer switching for content viewers.findStructureViewer(Viewer oldViewer, ICompareInput input, Composite parent) Implements the dynamic viewer switching for structure viewers.protected voidFires the given property change event to all listeners registered with this compare editor input.protected voidflushLeftViewers(IProgressMonitor monitor) protected voidflushRightViewers(IProgressMonitor monitor) protected voidflushViewers(IProgressMonitor monitor) Flushes the viewer contents into the input.Return the action bars for the container ornullif the container does not have an action bars.<T> TgetAdapter(Class<T> adapter) Returns an object which is an instance of the given class associated with this object.Returns the label used for theCANCELbutton when this input is shown in a compare dialog usingCompareUI.openCompareDialog(CompareEditorInput).Returns the configuration object for the viewers within the compare editor.Returns the compare result computed by the most recent call to therunmethod.final ICompareContainerReturns the container of this input ornullif there is no container set.Returns the image descriptor for this input.getName()Returns the name of this editor input for display purposes.Return theICompareNavigatorassociated with this container ornullif the container does not have a global navigator.Returns the label to be used for theOKbutton when this input is displayed in a dialog.Returnsnullsince this editor cannot be persisted.Returns the selected edition ornullif no edition is selected.Return the service locator for the container ornullif the container does not have one.getTitle()Returns the title which will be used in the compare editor's title bar.Returns the title image which will be used in the compare editor's title bar.Returns the tool tip text for this editor input.Return the workbench part associated with this container ornullif there is no part or it is not available.protected voidCallback that occurs when the UI associated with this compare editor input is disposed.booleanisDirty()Returnstrueif there are unsaved changes.booleanReturns whether this input is intended to be used to select a particular edition of an element in a dialog.protected booleanReturnstrueif there are unsaved changes for left side.protected booleanReturnstrueif there are unsaved changes for right side.booleanReturnstrueif there are unsaved changes in either left or right side.booleanTheOKbutton was pressed in a dialog.protected abstract ObjectprepareInput(IProgressMonitor monitor) Runs the compare operation and returns the compare result.voidregisterContextMenu(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.voidremoveCompareInputChangeListener(ICompareInput input, ICompareInputChangeListener listener) Remove the change listener from the given compare input.voidRemoves the given content change listener from this notifier.voidrun(boolean fork, boolean cancelable, IRunnableWithProgress runnable) Runs the givenIRunnableWithProgressin this context.voidrun(IProgressMonitor monitor) Runs the compare operation and stores the compare result.voidrunAsynchronously(IRunnableWithProgress runnable) Queue the given task to be run asynchronously.voidsave(IProgressMonitor pm) Deprecated.Override method saveChanges instead.voidsaveChanges(IProgressMonitor monitor) Saves any unsaved changes.voidsetContainer(ICompareContainer container) Sets the container of this input to the given containervoidvoidsetDirty(boolean dirty) Sets the dirty state of this input to the given value and sends out aPropertyChangeEventif the new value differs from the old value.voidsetFocus()Deprecated.Please usesetFocus2()instead.booleanAsks this input to take focus within its container (editor).voidsetHelpContextId(String helpContextId) Sets the help context id for this input.protected voidsetLeftDirty(boolean dirty) Sets the dirty state of left site of this input to the given value and sends out aPropertyChangeEventif the new value for whole input differs from the old value.protected voidsetMessage(String message) protected voidsetRightDirty(boolean dirty) Sets the dirty state of right site of this input to the given value and sends out aPropertyChangeEventif the new value for whole input differs from the old value.voidsetStatusMessage(String message) Set the status message displayed by the container to the given messagevoidvoidSets the title which will be used when presenting the compare result.
- 
Field Details- 
DIRTY_STATEThe name of the "dirty" property (value"DIRTY_STATE").- See Also:
 
- 
PROP_TITLEThe 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:
 
- 
PROP_TITLE_IMAGEThe name of the "title image" property. This property is fired when the title image of the compare input changes.- Since:
- 3.3
- See Also:
 
- 
PROP_SELECTED_EDITIONThe name of the "selected edition" property. This property is fired when the selected edition of the compare input changes.- Since:
- 3.3
- See Also:
 
 
- 
- 
Constructor Details- 
CompareEditorInputCreates aCompareEditorInputwhich is initialized with the given compare configuration. The compare configuration is passed to subsequently created viewers.- Parameters:
- configuration- the compare configuration
 
 
- 
- 
Method Details- 
getAdapterDescription copied from class:PlatformObjectReturns an object which is an instance of the given class associated with this object. Returnsnullif no such object can be found.This implementation of the method declared by IAdaptablepasses the request along to the platform's adapter manager; roughlyPlatform.getAdapterManager().getAdapter(this, adapter). Subclasses may override this method (however, if they do so, they should invoke the method on their superclass to ensure that the Platform's adapter manager is consulted).- Specified by:
- getAdapterin interface- IAdaptable
- Overrides:
- getAdapterin class- PlatformObject
- Type Parameters:
- T- the class type
- Parameters:
- adapter- the class to adapt to
- Returns:
- the adapted object or null
- See Also:
 
- 
getImageDescriptorDescription copied from interface:IEditorInputReturns 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:
- getImageDescriptorin interface- IEditorInput
- Returns:
- the image descriptor for this input; may be nullif there is no image.
 
- 
getToolTipTextDescription copied from interface:IEditorInputReturns 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:
- getToolTipTextin interface- IEditorInput
- Returns:
- the tool tip text; never null.
 
- 
getNameDescription copied from interface:IEditorInputReturns 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:
- getNamein interface- IEditorInput
- Returns:
- the name string; never null;
 
- 
getPersistableReturnsnullsince this editor cannot be persisted.- Specified by:
- getPersistablein interface- IEditorInput
- Returns:
- nullbecause this editor cannot be persisted
 
- 
existspublic boolean exists()Returnsfalseto indicate that this input should not appear in the "File Most Recently Used" menu.- Specified by:
- existsin interface- IEditorInput
- Returns:
- false
 
- 
setMessage
- 
getMessage
- 
getTitleReturns the title which will be used in the compare editor's title bar. It can be set withsetTitle.- Returns:
- the title
 
- 
setTitleSets 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
 
- 
getTitleImageReturns 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 nullif none
 
- 
getCompareConfigurationReturns the configuration object for the viewers within the compare editor. Returns the configuration which was passed to the constructor.- Returns:
- the compare configuration
 
- 
contributeToToolBarAdds standard actions to the givenToolBarManager.Subclasses may override to add their own actions. - Parameters:
- toolBarManager- the- ToolBarManagerto which to contribute
 
- 
runRuns the compare operation and stores the compare result.- Specified by:
- runin interface- IRunnableWithProgress
- Parameters:
- monitor- the progress monitor to use to display progress and receive requests for cancellation
- Throws:
- InvocationTargetException- if the- prepareInputmethod must propagate a checked exception, it should wrap it inside an- InvocationTargetException; runtime exceptions are automatically wrapped in an- InvocationTargetExceptionby the calling context
- InterruptedException- if the operation detects a request to cancel, using- IProgressMonitor.isCanceled(), it should exit by throwing- InterruptedException
- See Also:
 
- 
prepareInputprotected abstract Object prepareInput(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException Runs the compare operation and returns the compare result. Ifnullis 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 throwingInterruptedException.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 cancellation
- Returns:
- the result of the compare operation, or nullif there are no differences
- Throws:
- InvocationTargetException- if the- prepareInputmethod must propagate a checked exception, it should wrap it inside an- InvocationTargetException; runtime exceptions are automatically wrapped in an- InvocationTargetExceptionby the calling context
- InterruptedException- if the operation detects a request to cancel, using- IProgressMonitor.isCanceled(), it should exit by throwing- InterruptedException
 
- 
getCompareResultReturns the compare result computed by the most recent call to therunmethod. Returnsnullif no differences were found.- Returns:
- the compare result prepared in method prepareInputornullif there were no differences
 
- 
createContentsCreates 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
 
- 
createContentViewerSwitchingPaneprotected CompareViewerSwitchingPane createContentViewerSwitchingPane(Splitter parent, int style, CompareEditorInput cei) - Parameters:
- parent- the parent control under which the control must be created
- style- the style of widget to construct
- cei- the compare editor input for the viewer
- Returns:
- the pane displaying content changes
- 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.
 
- 
handleDisposeprotected 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 tocreateContents(Composite). Subclasses can extend this method but ensure that the overridden method is invoked.- Since:
- 3.3
 
- 
contentsCreatedprotected void contentsCreated()Callback that occurs after the control for the input has been created. If this method gets invoked thenhandleDispose()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- Parameters:
- parent- the parent control under which the control must be created
- direction- the layout direction of the contents, either- SWT.HORIZONTALor- SWT.VERTICAL
- Returns:
- the SWT control hierarchy for the outline part of the compare editor
- Since:
- 3.0
 
- 
createStructureInputPaneCreate the pane that will contain the structure input pane (upper left). By default, aCompareViewerSwitchingPaneis returned. Subclasses may override to provide an alternate pane.- Parameters:
- parent- the parent composite
- Returns:
- the structure input pane
- Since:
- 3.3
 
- 
setFocusDeprecated.Please usesetFocus2()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.
 
- 
setFocus2public boolean setFocus2()Asks this input to take focus within its container (editor).- Returns:
- trueif the input got focus, and- falseif 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.
 
- 
createDiffViewerFactory method for creating a differences viewer for the top left pane. It is called fromcreateContentsand returns aDiffTreeViewer.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
 
- 
findStructureViewerImplements 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 ornullcan 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
 
- 
findContentViewerImplements 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 ornullcan 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- 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- 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- 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- 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.
 
- 
isSaveNeededpublic boolean isSaveNeeded()Returnstrueif there are unsaved changes in either left or right side. The value returned is the value of theDIRTY_STATEproperty of this input object. Returnstrueif left or right side has unsaved changes Subclasses don't have to override if the functionality provided bysetDirtyis sufficient.- Returns:
- trueif there are changes that need to be saved
 
- 
isLeftSaveNeededprotected boolean isLeftSaveNeeded()Returnstrueif there are unsaved changes for left side.- Returns:
- trueif there are changes that need to be saved
- Restriction:
- This method is not intended to be referenced by clients.
 
- 
isRightSaveNeededprotected boolean isRightSaveNeeded()Returnstrueif there are unsaved changes for right side.- Returns:
- trueif there are changes that need to be saved
- Restriction:
- This method is not intended to be referenced by clients.
 
- 
isDirtypublic boolean isDirty()Returnstrueif there are unsaved changes. The method should be called by any parts or dialogs that contain the input. By default, this method callsisSaveNeeded()but subclasses may extend.- Returns:
- trueif there are unsaved changes
- Since:
- 3.3
 
- 
setDirtypublic void setDirty(boolean dirty) Sets the dirty state of this input to the given value and sends out aPropertyChangeEventif the new value differs from the old value. Direct calling this method with parameter dirty equal tofalsewhen there are unsaved changes in viewers, results in inconsistent state. The dirty state of compare input should be based only on the information if there are changes in viewers for left or right side.- Parameters:
- dirty- the dirty state for this compare input
 
- 
setLeftDirtyprotected void setLeftDirty(boolean dirty) Sets the dirty state of left site of this input to the given value and sends out aPropertyChangeEventif the new value for whole input differs from the old value. Direct calling this method with parameter dirty equal tofalsewhen there are unsaved changes in left viewer, results in inconsistent state. The dirty state of compare input should be based only on the information if there are changes in viewers for left side.- Parameters:
- dirty- the dirty state for this compare input
- Since:
- 3.7
- 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.
 
- 
setRightDirtyprotected void setRightDirty(boolean dirty) Sets the dirty state of right site of this input to the given value and sends out aPropertyChangeEventif the new value for whole input differs from the old value. Direct calling this method with parameter dirty equal tofalsewhen there are unsaved changes in right viewer, results in inconsistent state. The dirty state of compare input should be based only on the information if there are changes in viewers for right side.- Parameters:
- dirty- the dirty state for this compare input
- Since:
- 3.7
- 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.
 
- 
addPropertyChangeListenerDescription copied from interface:IPropertyChangeNotifierAdds a listener for property changes to this notifier. Has no effect if an identical listener is already registered.- Specified by:
- addPropertyChangeListenerin interface- IPropertyChangeNotifier
- Parameters:
- listener- a property change listener
 
- 
removePropertyChangeListenerDescription copied from interface:IPropertyChangeNotifierRemoves the given content change listener from this notifier. Has no effect if the identical listener is not registered.- Specified by:
- removePropertyChangeListenerin interface- IPropertyChangeNotifier
- Parameters:
- listener- a property change listener
 
- 
saveDeprecated.Override method saveChanges instead.Saves any unsaved changes. Empty implementation. Subclasses must override to save any changes.- Parameters:
- pm- an- IProgressMonitorthat the implementation of save may use to show progress
 
- 
saveChangesSaves any unsaved changes. Subclasses must override to save any changes. This implementation tries to flush changes in all viewers by callingISavable.saveon them.- Parameters:
- monitor- an- IProgressMonitorthat the implementation of save may use to show progress
- Throws:
- CoreException- If save fails.
- Since:
- 2.0
 
- 
flushViewersFlushes the viewer contents into the input.- Parameters:
- monitor- a progress monitor
- Since:
- 3.3
 
- 
flushLeftViewers- Parameters:
- monitor- a progress monitor
- Restriction:
- This method is not intended to be referenced by clients.
 
- 
flushRightViewers- Parameters:
- monitor- a progress monitor
- Restriction:
- This method is not intended to be referenced by clients.
 
- 
addCompareInputChangeListenerpublic void addCompareInputChangeListener(ICompareInput input, ICompareInputChangeListener listener) Description copied from interface:ICompareContainerRegister 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:
- addCompareInputChangeListenerin interface- ICompareContainer
- Parameters:
- input- the compare input
- listener- the compare input change listener
 
- 
removeCompareInputChangeListenerpublic void removeCompareInputChangeListener(ICompareInput input, ICompareInputChangeListener listener) Description copied from interface:ICompareContainerRemove the change listener from the given compare input. Removing a listener that is not registered has no effect.- Specified by:
- removeCompareInputChangeListenerin interface- ICompareContainer
- Parameters:
- input- the compare input
- listener- the compare input change listener
 
- 
registerContextMenuDescription copied from interface:ICompareContainerRegister 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 aIWorkbenchActionConstants.MB_ADDITIONSseparator as this is where the container will add actions.- Specified by:
- registerContextMenuin interface- ICompareContainer
- Parameters:
- menu- the menu being registered
- selectionProvider- the selection provider
 
- 
setStatusMessageDescription copied from interface:ICompareContainerSet the status message displayed by the container to the given message- Specified by:
- setStatusMessagein interface- ICompareContainer
- Parameters:
- message- the status message
 
- 
getActionBarsDescription copied from interface:ICompareContainerReturn the action bars for the container ornullif the container does not have an action bars.- Specified by:
- getActionBarsin interface- ICompareContainer
- Returns:
- the action bars for the container or null
 
- 
getServiceLocatorDescription copied from interface:ICompareContainerReturn the service locator for the container ornullif the container does not have one.- Specified by:
- getServiceLocatorin interface- ICompareContainer
- Returns:
- the service locator for the container or null
 
- 
getWorkbenchPartDescription copied from interface:ICompareContainerReturn the workbench part associated with this container ornullif there is no part or it is not available.- Specified by:
- getWorkbenchPartin interface- ICompareContainer
- Returns:
- the workbench part associated with this container or
 null
 
- 
runpublic void run(boolean fork, boolean cancelable, IRunnableWithProgress runnable) throws InvocationTargetException, InterruptedException Description copied from interface:IRunnableContextRuns the given IRunnableWithProgressin this context. For example, if this is aProgressMonitorDialogthen the runnable is run using this dialog's progress monitor.If forkisfalse, the current thread is used to run the runnable. Note that ifforkistrue, 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:
- runin interface- IRunnableContext
- Parameters:
- fork-- trueif the runnable should be run in a separate thread, and- falseto run in the same thread
- cancelable-- trueto enable the cancelation, and- falseto 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.
 
- 
runAsynchronouslyDescription copied from interface:ICompareContainerQueue 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:
- runAsynchronouslyin interface- ICompareContainer
- Parameters:
- runnable- the task to be performed
 
- 
setContainerSets the container of this input to the given container- Parameters:
- container- the container
- Since:
- 3.3
 
- 
getContainerReturns the container of this input ornullif there is no container set.- Returns:
- the container of this input or null
- Since:
- 3.3
 
- 
firePropertyChangeFires the given property change event to all listeners registered with this compare editor input.- Parameters:
- event- the property change event
- Since:
- 3.3
 
- 
canRunAsJobpublic boolean canRunAsJob()Returns whether this compare editor input can be run as a job. By default,falseis returned since traditionally inputs were prepared in the foreground (i.e the UI was blocked when therun(IProgressMonitor)method (and indirectly theprepareInput(IProgressMonitor)method) was invoked. Subclasses may override.- Returns:
- whether this compare editor input can be run in the background
- Since:
- 3.3
 
- 
belongsToReturns 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:
 
- 
isEditionSelectionDialogpublic boolean isEditionSelectionDialog()Returns 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,falseis 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:
 
- 
getOKButtonLabelReturns the label to be used for theOKbutton 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 (seeisEditionSelectionDialog().- Returns:
- the label to be used for the OKbutton when this input is displayed in a dialog
- Since:
- 3.3
 
- 
getCancelButtonLabelReturns the label used for theCANCELbutton when this input is shown in a compare dialog usingCompareUI.openCompareDialog(CompareEditorInput).- Returns:
- the label used for the CANCELbutton
- Since:
- 3.3
 
- 
okPressedpublic boolean okPressed()TheOKbutton 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 (seeisEditionSelectionDialog()), 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
 
- 
cancelPressedpublic void cancelPressed()TheCANCELbutton was pressed in a dialog. By default, nothing is done. Subclasses may override.- Since:
- 3.3
 
- 
getSelectedEditionReturns the selected edition ornullif no edition is selected. The result of this method should only be considered ifisEditionSelectionDialog()returnstrue.- Returns:
- the selected edition or null
- Since:
- 3.3
 
- 
setHelpContextIdSets the help context id for this input.- Parameters:
- helpContextId- the help context id.
- Since:
- 3.3
 
 
-