Eclipse Platform
Release 3.0

org.eclipse.team.ui.synchronize
Class SynchronizeModelAction

java.lang.Object
  extended byorg.eclipse.jface.action.Action
      extended byorg.eclipse.ui.actions.BaseSelectionListenerAction
          extended byorg.eclipse.team.ui.synchronize.SynchronizeModelAction
All Implemented Interfaces:
IAction, ISelectionChangedListener

public abstract class SynchronizeModelAction
extends BaseSelectionListenerAction

This action provides utilities for performing operations on selections that contain ISynchronizeModelElement instances. Subclasses can use this support to filter the selection in order to determine action enablement and generate the input for a SynchronizeModelOperation.

Since:
3.0
See Also:
SyncInfo, SyncInfoSet, SynchronizeModelOperation

Field Summary
 
Fields inherited from interface org.eclipse.jface.action.IAction
AS_CHECK_BOX, AS_DROP_DOWN_MENU, AS_PUSH_BUTTON, AS_RADIO_BUTTON, AS_UNSPECIFIED, CHECKED, DESCRIPTION, ENABLED, IMAGE, RESULT, TEXT, TOOL_TIP_TEXT
 
Constructor Summary
protected SynchronizeModelAction(String text, ISynchronizePageConfiguration configuration)
          Create an action with the given text and configuration.
protected SynchronizeModelAction(String text, ISynchronizePageConfiguration configuration, ISelectionProvider selectionProvider)
          Create an action with the given text and configuration.
 
Method Summary
protected  boolean confirmSaveOfDirtyEditor()
          Returns whether the user should be prompted to save dirty editors.
 ISynchronizePageConfiguration getConfiguration()
          Returns the configuration showing this action.
protected  IDiffElement[] getFilteredDiffElements()
          Return the selected diff element for which this action is enabled.
protected  IDiffElement[] getSelectedDiffElements()
          This method returns all instances of IDiffElement that are in the current selection.
protected abstract  SynchronizeModelOperation getSubscriberOperation(ISynchronizePageConfiguration configuration, IDiffElement[] elements)
          Return the subscriber operation associated with this action.
protected  FastSyncInfoFilter getSyncInfoFilter()
          Filter uses to filter the user selection to contain only those elements for which this action is enabled.
protected  void handle(Exception e)
          Generic error handling code that uses an error dialog to show the error to the user.
protected  void initialize(ISynchronizePageConfiguration configuration, ISelectionProvider selectionProvider)
          Method invoked from the constructor.
protected  boolean needsToSaveDirtyEditors()
          Return whether dirty editor should be saved before this action is run.
 void run()
          The default implementation of this IAction method does nothing.
 boolean saveAllEditors(boolean confirm)
          Save all dirty editors in the workbench that are open on files that may be affected by this operation.
 void selectionChanged(ISelection selection)
          Set the selection of this action to the given selection
protected  boolean updateSelection(IStructuredSelection selection)
          Updates this action in response to the given selection.
 
Methods inherited from class org.eclipse.ui.actions.BaseSelectionListenerAction
clearCache, getStructuredSelection, runWithEvent, selectionChanged, selectionChanged
 
Methods inherited from class org.eclipse.jface.action.Action
addPropertyChangeListener, convertAccelerator, convertAccelerator, findKeyCode, findKeyString, findModifier, findModifierString, firePropertyChange, firePropertyChange, getAccelerator, getActionDefinitionId, getDescription, getDisabledImageDescriptor, getHelpListener, getHoverImageDescriptor, getId, getImageDescriptor, getMenuCreator, getStyle, getText, getToolTipText, isChecked, isEnabled, notifyResult, removeAcceleratorText, removeMnemonics, removePropertyChangeListener, setAccelerator, setActionDefinitionId, setChecked, setDescription, setDisabledImageDescriptor, setEnabled, setHelpListener, setHoverImageDescriptor, setId, setImageDescriptor, setMenuCreator, setText, setToolTipText
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

SynchronizeModelAction

protected SynchronizeModelAction(String text,
                                 ISynchronizePageConfiguration configuration)
Create an action with the given text and configuration. By default, the action registers for selection change with the selection provider from the configuration's site.

Parameters:
text - the action's text
configuration - the actions synchronize page configuration

SynchronizeModelAction

protected SynchronizeModelAction(String text,
                                 ISynchronizePageConfiguration configuration,
                                 ISelectionProvider selectionProvider)
Create an action with the given text and configuration. By default, the action registers for selection change with the given selection provider.

Parameters:
text - the action's text
configuration - the actions synchronize page configuration
selectionProvider - a selection provider
Method Detail

initialize

protected void initialize(ISynchronizePageConfiguration configuration,
                          ISelectionProvider selectionProvider)
Method invoked from the constructor. The default implementation registers the action as a selection change listener. Subclasses may override.

Parameters:
configuration - the synchronize page configuration
selectionProvider - a selection provider

run

public void run()
Description copied from class: Action
The default implementation of this IAction method does nothing. Subclasses should override this method if they do not need information from the triggering event, or override runWithEvent(Event) if they do.

Specified by:
run in interface IAction
Overrides:
run in class Action

needsToSaveDirtyEditors

protected boolean needsToSaveDirtyEditors()
Return whether dirty editor should be saved before this action is run. Default is true.

Returns:
whether dirty editor should be saved before this action is run

confirmSaveOfDirtyEditor

protected boolean confirmSaveOfDirtyEditor()
Returns whether the user should be prompted to save dirty editors. The default is true.

Returns:
whether the user should be prompted to save dirty editors

getSubscriberOperation

protected abstract SynchronizeModelOperation getSubscriberOperation(ISynchronizePageConfiguration configuration,
                                                                    IDiffElement[] elements)
Return the subscriber operation associated with this action. This operation will be run when the action is run. Subclass may implement this method and provide an operation subclass or may override the run(IAction) method directly if they choose not to implement a SynchronizeModelOperation.

Parameters:
configuration - the synchronize page configuration for the page to which this action is associated
elements - the selected diff element for which this action is enabled.
Returns:
the subscriber operation to be run by this action.

handle

protected void handle(Exception e)
Generic error handling code that uses an error dialog to show the error to the user. Subclasses can use this method and/or override it.

Parameters:
e - the exception that occurred.

updateSelection

protected boolean updateSelection(IStructuredSelection selection)
Description copied from class: BaseSelectionListenerAction
Updates this action in response to the given selection.

The BaseSelectionListenerAction implementation of this method returns true. Subclasses may extend to react to selection changes; however, if the super method returns false, the overriding method must also return false.

Overrides:
updateSelection in class BaseSelectionListenerAction
Parameters:
selection - the new selection
Returns:
true if the action should be enabled for this selection, and false otherwise

getSelectedDiffElements

protected final IDiffElement[] getSelectedDiffElements()
This method returns all instances of IDiffElement that are in the current selection.

Returns:
the selected elements

getSyncInfoFilter

protected FastSyncInfoFilter getSyncInfoFilter()
Filter uses to filter the user selection to contain only those elements for which this action is enabled. Default filter includes all out-of-sync elements in the current selection. Subsclasses may override.

Returns:
a sync info filter which selects all out-of-sync resources.

getFilteredDiffElements

protected final IDiffElement[] getFilteredDiffElements()
Return the selected diff element for which this action is enabled.

Returns:
the list of selected diff elements for which this action is enabled.

selectionChanged

public void selectionChanged(ISelection selection)
Set the selection of this action to the given selection

Parameters:
selection - the selection

getConfiguration

public ISynchronizePageConfiguration getConfiguration()
Returns the configuration showing this action.

Returns:
the configuration showing this action.

saveAllEditors

public final boolean saveAllEditors(boolean confirm)
Save all dirty editors in the workbench that are open on files that may be affected by this operation. Opens a dialog to prompt the user if confirm is true. Return true if successful. Return false if the user has cancelled the command. Must be called from the UI thread.

Parameters:
confirm - prompt the user if true
Returns:
boolean false if the operation was cancelled.

Eclipse Platform
Release 3.0

Guidelines for using Eclipse APIs.

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