org.eclipse.gef.mvc.fx.operations

## Class SelectOperation

- java.lang.Object
- - org.eclipse.core.commands.operations.AbstractOperation
  - - org.eclipse.gef.mvc.fx.operations.SelectOperation

All Implemented Interfaces:
  IUndoableOperation, ITransactionalOperation

    public class SelectOperation
    extends AbstractOperation
    implements ITransactionalOperation

The `SelectOperation` can be used to change the `SelectionModel` of an `IViewer`.

### Field Summary

Fields
`static String` `DEFAULT_LABEL` "change-selection" The default label for this operation (i.e. used if no label is specified).

### Constructor Summary

Constructors
Constructor and Description
`SelectOperation(IViewer viewer, List<? extends IContentPart<? extends Node>> toBeSelected)` Creates a new `SelectOperation` to change the selection within the given `IViewer` to prepend the given content parts.
`SelectOperation(String label, IViewer viewer, List<? extends IContentPart<? extends Node>> toBeSelected)` * Creates a new `SelectOperation` to change the selection within the given `IViewer` to prepend the given content parts.

### Method Summary

All Methods Instance Methods Concrete Methods
`IStatus` `execute(IProgressMonitor monitor, IAdaptable info)`
`protected SelectionModel` `getSelectionModel()` Returns the `SelectionModel` adapted to the viewer.
`boolean` `isContentRelevant()` Returns `true` if this `ITransactionalOperation` is actually changing model data (instead of only affecting the visualization).
`boolean` `isNoOp()` Returns `true` if this `ITransactionalOperation` has no effect (in comparison to its initial state).
`IStatus` `redo(IProgressMonitor monitor, IAdaptable info)`
`IStatus` `undo(IProgressMonitor monitor, IAdaptable info)`

### Methods inherited from class org.eclipse.core.commands.operations.AbstractOperation

`addContext, canExecute, canRedo, canUndo, dispose, getContexts, getLabel, hasContext, removeContext, setLabel, toString`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

### Methods inherited from interface org.eclipse.core.commands.operations.IUndoableOperation

`addContext, canExecute, canRedo, canUndo, dispose, getContexts, getLabel, hasContext, removeContext`

### Field Detail

#### DEFAULT_LABEL

    public static final String DEFAULT_LABEL

     "change-selection"

The default label for this operation (i.e. used if no label is specified).

See Also:
  Constant Field Values

### Constructor Detail

#### SelectOperation

    public SelectOperation(IViewer viewer,
                           List<? extends IContentPart<? extends Node>> toBeSelected)

Creates a new `SelectOperation` to change the selection within the given `IViewer` to prepend the given content parts. It uses the `DEFAULT_LABEL`.

Parameters:
  `viewer` - The `IViewer` for which the selection is changed.
  `toBeSelected` - The `IContentPart`s that are to be selected.

#### SelectOperation

    public SelectOperation(String label,
                           IViewer viewer,
                           List<? extends IContentPart<? extends Node>> toBeSelected)

* Creates a new `SelectOperation` to change the selection within the given `IViewer` to prepend the given content parts. The given label is used.

Parameters:
  `label` - The operation's label.
  `viewer` - The `IViewer` for which the selection is changed.
  `toBeSelected` - The `IContentPart`s that are to be selected.

### Method Detail

#### execute

    public IStatus execute(IProgressMonitor monitor,
                           IAdaptable info)
                    throws ExecutionException

Specified by:
  `execute` in interface `IUndoableOperation`
Specified by:
  `execute` in class `AbstractOperation`
Throws:
  `ExecutionException`

#### getSelectionModel

    protected SelectionModel getSelectionModel()

Returns the `SelectionModel` adapted to the viewer.

Returns:
  The `SelectionModel` adapter.

#### isContentRelevant

    public boolean isContentRelevant()

Description copied from interface: `ITransactionalOperation`
Returns `true` if this `ITransactionalOperation` is actually changing model data (instead of only affecting the visualization). Otherwise returns `false`. The content relevance of an `ITransactionalOperation` can be checked to determine if the execution of the operation will affect the model, for example, to set an editor's dirty flag.

Specified by:
  `isContentRelevant` in interface `ITransactionalOperation`
Returns:
  `true` if this `ITransactionalOperation` is actually changing model data, otherwise `false`.

#### isNoOp

    public boolean isNoOp()

Description copied from interface: `ITransactionalOperation`
Returns `true` if this `ITransactionalOperation` has no effect (in comparison to its initial state). Otherwise returns `false`.

Specified by:
  `isNoOp` in interface `ITransactionalOperation`
Returns:
  `true` if this `ITransactionalOperation` has no effect, otherwise `false`.

#### redo

    public IStatus redo(IProgressMonitor monitor,
                        IAdaptable info)
                 throws ExecutionException

Specified by:
  `redo` in interface `IUndoableOperation`
Specified by:
  `redo` in class `AbstractOperation`
Throws:
  `ExecutionException`

#### undo

    public IStatus undo(IProgressMonitor monitor,
                        IAdaptable info)
                 throws ExecutionException

Specified by:
  `undo` in interface `IUndoableOperation`
Specified by:
  `undo` in class `AbstractOperation`
Throws:
  `ExecutionException`