Package org.eclipse.gef.mvc.fx.operations

# Class ChangeFocusOperation

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

All Implemented Interfaces:
  `IUndoableOperation`, `ITransactionalOperation`

public class ChangeFocusOperation extends AbstractOperation implements ITransactionalOperation
The `ChangeFocusOperation` can be used to change the `FocusModel` of an `IViewer`.

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`DEFAULT_LABEL`
"change-focus"

## Constructor Summary

Constructors
Constructor
Description
`ChangeFocusOperation(String label, IViewer viewer, IContentPart<? extends javafx.scene.Node> newFocused)`
Creates a new `ChangeFocusOperation` to assign focus to the given newFocused `IContentPart` within the given `IViewer`.
`ChangeFocusOperation(IViewer viewer, IContentPart<? extends javafx.scene.Node> newFocused)`
Creates a new `ChangeFocusOperation` to assign focus to the given newFocused `IContentPart` within the given `IViewer`.

## Method Summary

Modifier and Type
Method
Description
`IStatus`
`execute(IProgressMonitor monitor, IAdaptable info)`
`protected FocusModel`
`getFocusModel()`
Returns the `FocusModel` 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)`
`void`
`setNewFocused(IContentPart<? extends javafx.scene.Node> newFocused)`
Sets the new focussed part to the given one.
`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 Details

### DEFAULT_LABEL

public static final String DEFAULT_LABEL

     "change-focus"

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

See Also:
  - Constant Field Values

## Constructor Details

### ChangeFocusOperation

public ChangeFocusOperation(IViewer viewer, IContentPart<? extends javafx.scene.Node> newFocused)
Creates a new `ChangeFocusOperation` to assign focus to the given newFocused `IContentPart` within the given `IViewer`. When the operation is undone, focus is assigned to the given oldFocused `IContentPart`.

Parameters:
  `viewer` - The `IViewer` for which the `FocusModel` is to be changed.
  `newFocused` - The `IContentPart` to which focus will be assigned.

### ChangeFocusOperation

public ChangeFocusOperation(String label, IViewer viewer, IContentPart<? extends javafx.scene.Node> newFocused)
Creates a new `ChangeFocusOperation` to assign focus to the given newFocused `IContentPart` within the given `IViewer`. When the operation is undone, focus is assigned to the given oldFocused `IContentPart`. The given label is used as the label for the operation.

Parameters:
  `label` - The operation's label.
  `viewer` - The `IViewer` for which the `FocusModel` is to be changed.
  `newFocused` - The `IContentPart` to which focus will be assigned.

## Method Details

### execute

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

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

### getFocusModel

protected FocusModel getFocusModel()
Returns the `FocusModel` adapted to the viewer.

Returns:
  The `FocusModel` 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`

### setNewFocused

public void setNewFocused(IContentPart<? extends javafx.scene.Node> newFocused)
Sets the new focussed part to the given one.

Parameters:
  `newFocused` - The new focus part.

### undo

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

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