Class OpenResourceAction

All Implemented Interfaces:
EventListener, IResourceChangeListener, IAction, ISelectionChangedListener

public class OpenResourceAction extends WorkspaceAction implements IResourceChangeListener
Standard action for opening the currently selected project(s).

Note that there is a different action for opening an editor on file resources: OpenFileAction.

This class may be instantiated; it is not intended to be subclassed.

Restriction:
This class is not intended to be subclassed by clients.
  • Field Details

  • Constructor Details

    • OpenResourceAction

      @Deprecated public OpenResourceAction(Shell shell)
      Creates a new action.
      Parameters:
      shell - the shell for any dialogs
    • OpenResourceAction

      public OpenResourceAction(IShellProvider provider)
      Creates a new action.
      Parameters:
      provider - the shell for any dialogs
      Since:
      3.4
  • Method Details

    • getOperationMessage

      protected String getOperationMessage()
      Description copied from class: WorkspaceAction
      Returns the string to display for this action's operation.

      Note that this hook method is invoked in a non-UI thread.

      Subclasses must implement this method.

      Specified by:
      getOperationMessage in class WorkspaceAction
      Returns:
      the message
    • getProblemsMessage

      protected String getProblemsMessage()
      Description copied from class: WorkspaceAction
      Returns the string to display for this action's problems dialog.

      The WorkspaceAction implementation of this method returns a vague message (localized counterpart of something like "The following problems occurred."). Subclasses may reimplement to provide something more suited to the particular action.

      Overrides:
      getProblemsMessage in class WorkspaceAction
      Returns:
      the problems message
    • getProblemsTitle

      protected String getProblemsTitle()
      Description copied from class: WorkspaceAction
      Returns the title for this action's problems dialog.

      The WorkspaceAction implementation of this method returns a generic title (localized counterpart of "Problems"). Subclasses may reimplement to provide something more suited to the particular action.

      Overrides:
      getProblemsTitle in class WorkspaceAction
      Returns:
      the problems dialog title
    • invokeOperation

      protected void invokeOperation(IResource resource, IProgressMonitor monitor) throws CoreException
      Description copied from class: WorkspaceAction
      Performs this action's operation on each of the selected resources, reporting progress to, and fielding cancel requests from, the given progress monitor.

      Note that this method is invoked in a non-UI thread.

      Subclasses must implement this method.

      Overrides:
      invokeOperation in class WorkspaceAction
      Parameters:
      resource - one of the selected resources
      monitor - a progress monitor
      Throws:
      CoreException - if the operation fails
    • resourceChanged

      public void resourceChanged(IResourceChangeEvent event)
      Handles a resource changed event by updating the enablement if one of the selected projects is opened or closed.
      Specified by:
      resourceChanged in interface IResourceChangeListener
      Parameters:
      event - the resource change event
      See Also:
    • run

      public void run()
      Description copied from class: WorkspaceAction
      The CoreWrapperAction implementation of this IAction method uses a ProgressMonitorDialog to run the operation. The operation calls execute (which, in turn, calls invokeOperation). Afterwards, any CoreExceptions encountered while running the operation are reported to the user via a problems dialog.

      Subclasses may extend this method.

      Specified by:
      run in interface IAction
      Overrides:
      run in class WorkspaceAction
      See Also:
    • shouldPerformResourcePruning

      protected boolean shouldPerformResourcePruning()
      Description copied from class: WorkspaceAction
      Returns whether this action should attempt to optimize the resources being operated on. This kind of pruning makes sense when the operation has depth infinity semantics (when the operation is applied explicitly to a resource then it is also applied implicitly to all the resource's descendents).

      The WorkspaceAction implementation of this method returns true. Subclasses should reimplement to return false if pruning is not required.

      Overrides:
      shouldPerformResourcePruning in class WorkspaceAction
      Returns:
      true if pruning should be performed, and false if pruning is not desired
    • updateSelection

      protected boolean updateSelection(IStructuredSelection s)
      The OpenResourceAction implementation of this SelectionListenerAction method ensures that this action is enabled only if one of the selections is a closed project.
      Overrides:
      updateSelection in class WorkspaceAction
      Parameters:
      s - the new selection
      Returns:
      true if the action should be enabled for this selection, and false otherwise