Package org.eclipse.team.ui.synchronize
Class ParticipantPageCompareEditorInput
java.lang.Object
org.eclipse.core.runtime.PlatformObject
org.eclipse.compare.CompareEditorInput
org.eclipse.team.ui.PageCompareEditorInput
org.eclipse.team.ui.synchronize.ParticipantPageCompareEditorInput
- All Implemented Interfaces:
ICompareContainer,IContentChangeListener,IPropertyChangeNotifier,IAdaptable,IRunnableContext,IRunnableWithProgress,IEditorInput
Displays a synchronize participant page combined with the compare/merge infrastructure. This only works if the
synchronize page viewer provides selections that are of the following types: ITypedElement and ICompareInput
or if the participant is a
ModelSynchronizeParticipant.- Since:
- 3.3
-
Field Summary
Fields inherited from class org.eclipse.compare.CompareEditorInput
DIRTY_STATE, PROP_SELECTED_EDITION, PROP_TITLE, PROP_TITLE_IMAGE -
Constructor Summary
ConstructorsConstructorDescriptionParticipantPageCompareEditorInput(CompareConfiguration configuration, ISynchronizePageConfiguration pageConfiguration, ISynchronizeParticipant participant) Creates a part for the provided participant. -
Method Summary
Modifier and TypeMethodDescriptionprotected ICompareInputasCompareInput(ISelection selection) Return a compare input that represents the selection.voidTheCANCELbutton was pressed in a dialog.voidcontentChanged(IContentChangeNotifier source) Called whenever the content of the given source has changed.createContents(Composite parent) Creates the SWT controls that are used to display the result of the compare operation.protected IPagecreatePage(CompareViewerPane parent, IToolBarManager toolBarManager) Create the page for this part and return the top level control for the page.Returns the label used for theCANCELbutton when this input is shown in a compare dialog usingCompareUI.openCompareDialog(CompareEditorInput).Returns the label to be used for theOKbutton when this input is displayed in a dialog.Return the synchronize page configuration for this partReturn the Synchronize participant for this partprotected ISelectionProviderReturn the selection provider for the page.Returns the title image which will be used in the compare editor's title bar.protected voidCallback that occurs when the UI associated with this compare editor input is disposed.protected booleanReturn whether the ability to remember the participant in the synchronize view should be presented to the user.booleanReturnstrueif there are unsaved changes in either left or right side.booleanTheOKbutton was pressed in a dialog.protected voidprepareInput(ICompareInput input, CompareConfiguration configuration, IProgressMonitor monitor) Prepare the compare input for display in a content viewer.protected ObjectprepareInput(IProgressMonitor monitor) Runs the compare operation and returns the compare result.voidsaveChanges(IProgressMonitor monitor) Saves any unsaved changes.Methods inherited from class org.eclipse.team.ui.PageCompareEditorInput
canRunAsJob, createStructureInputPane, prepareCompareInput, setPageDescriptionMethods inherited from class org.eclipse.compare.CompareEditorInput
addCompareInputChangeListener, addPropertyChangeListener, belongsTo, contentsCreated, contributeToToolBar, createContentViewerSwitchingPane, createDiffViewer, createOutlineContents, exists, findContentViewer, findStructureViewer, firePropertyChange, flushLeftViewers, flushRightViewers, flushViewers, getActionBars, getAdapter, getCompareConfiguration, getCompareResult, getContainer, getContentViewerDescriptor, getImageDescriptor, getMessage, getName, getNavigator, getPersistable, getSelectedEdition, getServiceLocator, getStructureViewerDescriptor, getTitle, getToolTipText, getWorkbenchPart, isDirty, isEditionSelectionDialog, isLeftSaveNeeded, isRightSaveNeeded, registerContextMenu, removeCompareInputChangeListener, removePropertyChangeListener, run, run, runAsynchronously, save, setContainer, setContentViewerDescriptor, setDirty, setFocus, setFocus2, setHelpContextId, setLeftDirty, setMessage, setRightDirty, setStatusMessage, setStructureViewerDescriptor, setTitle
-
Constructor Details
-
ParticipantPageCompareEditorInput
public ParticipantPageCompareEditorInput(CompareConfiguration configuration, ISynchronizePageConfiguration pageConfiguration, ISynchronizeParticipant participant) Creates a part for the provided participant. The page configuration is used when creating the participant page and the resulting compare/merge panes will be configured with the provided compare configuration.For example, clients can decide if the user can edit the compare panes by calling
CompareConfiguration.setLeftEditable(boolean)orCompareConfiguration.setRightEditable(boolean).- Parameters:
configuration- the compare configuration that will be used to create the compare panespageConfiguration- the configuration that will be provided to the participant prior to creating the pageparticipant- the participant whose page will be displayed in this part
-
-
Method Details
-
prepareInput
protected Object prepareInput(IProgressMonitor monitor) throws InvocationTargetException, InterruptedException Description copied from class:CompareEditorInputRuns 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.
- Specified by:
prepareInputin classCompareEditorInput- 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 theprepareInputmethod must propagate a checked exception, it should wrap it inside anInvocationTargetException; runtime exceptions are automatically wrapped in anInvocationTargetExceptionby the calling contextInterruptedException- if the operation detects a request to cancel, usingIProgressMonitor.isCanceled(), it should exit by throwingInterruptedException
-
getTitleImage
Description copied from class:CompareEditorInputReturns 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.- Overrides:
getTitleImagein classCompareEditorInput- Returns:
- the title image, or
nullif none
-
handleDispose
protected void handleDispose()Description copied from class:CompareEditorInputCallback 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 toCompareEditorInput.createContents(Composite). Subclasses can extend this method but ensure that the overridden method is invoked.- Overrides:
handleDisposein classPageCompareEditorInput
-
createPage
Description copied from class:PageCompareEditorInputCreate the page for this part and return the top level control for the page.- Specified by:
createPagein classPageCompareEditorInput- Parameters:
parent- the parent compositetoolBarManager- the toolbar manager for the page- Returns:
- the top-level control for the page
-
getSelectionProvider
Description copied from class:PageCompareEditorInputReturn the selection provider for the page. This method is called after the page is created in order to register a selection listener on the page.- Specified by:
getSelectionProviderin classPageCompareEditorInput- Returns:
- the selection provider for the page
-
asCompareInput
Description copied from class:PageCompareEditorInputReturn a compare input that represents the selection. This input is used to feed the structure and content viewers. By default, a compare input is returned if the selection is of size 1 and the selected element implementsICompareInput. Subclasses may override.- Overrides:
asCompareInputin classPageCompareEditorInput- Parameters:
selection- the selection- Returns:
- a compare input representing the selection
-
prepareInput
protected void prepareInput(ICompareInput input, CompareConfiguration configuration, IProgressMonitor monitor) throws InvocationTargetException Description copied from class:PageCompareEditorInputPrepare the compare input for display in a content viewer. This method is called fromPageCompareEditorInput.prepareCompareInput(ICompareInput)and may be called from a non-UI thread. This method should not be called by others.- Specified by:
prepareInputin classPageCompareEditorInput- Parameters:
input- the inputconfiguration- the compare configurationmonitor- a progress monitor- Throws:
InvocationTargetException- if an error occurs
-
isSaveNeeded
public boolean isSaveNeeded()Description copied from class:CompareEditorInputReturnstrueif 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.- Overrides:
isSaveNeededin classCompareEditorInput- Returns:
trueif there are changes that need to be saved
-
saveChanges
Description copied from class:CompareEditorInputSaves any unsaved changes. Subclasses must override to save any changes. This implementation tries to flush changes in all viewers by callingISavable.saveon them.- Overrides:
saveChangesin classCompareEditorInput- Parameters:
monitor- anIProgressMonitorthat the implementation of save may use to show progress- Throws:
CoreException- If save fails.
-
contentChanged
Description copied from interface:IContentChangeListenerCalled whenever the content of the given source has changed.- Specified by:
contentChangedin interfaceIContentChangeListener- Overrides:
contentChangedin classPageCompareEditorInput- Parameters:
source- the source whose contents has changed
-
getPageConfiguration
Return the synchronize page configuration for this part- Returns:
- Returns the pageConfiguration.
-
getParticipant
Return the Synchronize participant for this part- Returns:
- Returns the participant.
-
createContents
Description copied from class:CompareEditorInputCreates 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.
- Overrides:
createContentsin classCompareEditorInput- Parameters:
parent- the parent control under which the control must be created- Returns:
- the SWT control hierarchy for the compare editor
-
isOfferToRememberParticipant
protected boolean isOfferToRememberParticipant()Return whether the ability to remember the participant in the synchronize view should be presented to the user. By default,trueis returned. Subclasses may override.- Returns:
- whether the ability to remember the participant in the synchronize view should be presented to the user
-
okPressed
public boolean okPressed()Description copied from class:CompareEditorInputTheOKbutton 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 (seeCompareEditorInput.isEditionSelectionDialog()), it is up to subclasses to override this method in order to perform the appropriate operation on the selected edition.- Overrides:
okPressedin classCompareEditorInput- Returns:
- whether the dialog should be closed or not.
-
cancelPressed
public void cancelPressed()Description copied from class:CompareEditorInputTheCANCELbutton was pressed in a dialog. By default, nothing is done. Subclasses may override.- Overrides:
cancelPressedin classCompareEditorInput
-
getOKButtonLabel
Description copied from class:CompareEditorInputReturns 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 (seeCompareEditorInput.isEditionSelectionDialog().- Overrides:
getOKButtonLabelin classCompareEditorInput- Returns:
- the label to be used for the
OKbutton when this input is displayed in a dialog
-
getCancelButtonLabel
Description copied from class:CompareEditorInputReturns the label used for theCANCELbutton when this input is shown in a compare dialog usingCompareUI.openCompareDialog(CompareEditorInput).- Overrides:
getCancelButtonLabelin classCompareEditorInput- Returns:
- the label used for the
CANCELbutton
-