Class ChangeContentsOperation
- java.lang.Object
-
- org.eclipse.core.commands.operations.AbstractOperation
-
- org.eclipse.gef.mvc.fx.operations.ChangeContentsOperation
-
- All Implemented Interfaces:
IUndoableOperation,ITransactionalOperation
public class ChangeContentsOperation extends AbstractOperation implements ITransactionalOperation
TheChangeContentsOperationcan be used to change the content objects stored in theIViewer.contentsProperty().
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringDEFAULT_LABEL"Change Contents"
-
Constructor Summary
Constructors Constructor Description ChangeContentsOperation(java.lang.String label, IViewer viewer, java.util.List<? extends java.lang.Object> contents)Creates a newChangeContentsOperationfor changing the contents of the givenIViewerto the specified list of objects.ChangeContentsOperation(IViewer viewer)Constructs a newChangeContentsOperationthat can be used to change the contents of the givenIViewer.ChangeContentsOperation(IViewer viewer, java.util.List<? extends java.lang.Object> contents)Creates a newChangeContentsOperationfor changing the contents of the givenIViewerto the specified list of objects.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IStatusexecute(IProgressMonitor monitor, IAdaptable info)protected java.util.List<? extends java.lang.Object>getInitialContents()Returns the list containing the initial contents by reference.protected java.util.List<? extends java.lang.Object>getNewContents()Returns the list containing the new contents by reference.booleanisContentRelevant()Returnstrueif thisITransactionalOperationis actually changing model data (instead of only affecting the visualization).booleanisNoOp()Returnstrueif thisITransactionalOperationhas no effect (in comparison to its initial state).IStatusredo(IProgressMonitor monitor, IAdaptable info)voidsetNewContents(java.util.List<? extends java.lang.Object> newContents)Sets the final contents to the given list.IStatusundo(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 java.lang.String DEFAULT_LABEL
"Change Contents"
The default label for this operation (i.e. used if no label is specified).- See Also:
- Constant Field Values
-
-
Constructor Detail
-
ChangeContentsOperation
public ChangeContentsOperation(IViewer viewer)
Constructs a newChangeContentsOperationthat can be used to change the contents of the givenIViewer.The operation is initialized as a no-op, i.e. the initial viewer contents are also used as the final viewer contents.
The final contents can later be set using the
setNewContents(List)method.- Parameters:
viewer- TheIViewerof which theIViewer.contentsProperty()is to be changed.
-
ChangeContentsOperation
public ChangeContentsOperation(IViewer viewer, java.util.List<? extends java.lang.Object> contents)
Creates a newChangeContentsOperationfor changing the contents of the givenIViewerto the specified list of objects.- Parameters:
viewer- TheIViewerof which theIViewer.contentsProperty()is to be changed.contents- The new content objects to store in theIViewer.contentsProperty().
-
ChangeContentsOperation
public ChangeContentsOperation(java.lang.String label, IViewer viewer, java.util.List<? extends java.lang.Object> contents)Creates a newChangeContentsOperationfor changing the contents of the givenIViewerto the specified list of objects. The given label is used as the label of the operation.- Parameters:
label- The label of the operation.viewer- TheIViewerof which theIViewer.contentsProperty()is to be changed.contents- The new content objects to store in theIViewer.contentsProperty().
-
-
Method Detail
-
execute
public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
- Specified by:
executein interfaceIUndoableOperation- Specified by:
executein classAbstractOperation- Throws:
ExecutionException
-
getInitialContents
protected java.util.List<? extends java.lang.Object> getInitialContents()
Returns the list containing the initial contents by reference.- Returns:
- the list containing the initial contents by reference.
-
getNewContents
protected java.util.List<? extends java.lang.Object> getNewContents()
Returns the list containing the new contents by reference.- Returns:
- the list containing the new contents by reference.
-
isContentRelevant
public boolean isContentRelevant()
Description copied from interface:ITransactionalOperationReturnstrueif thisITransactionalOperationis actually changing model data (instead of only affecting the visualization). Otherwise returnsfalse. The content relevance of anITransactionalOperationcan 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:
isContentRelevantin interfaceITransactionalOperation- Returns:
trueif thisITransactionalOperationis actually changing model data, otherwisefalse.
-
isNoOp
public boolean isNoOp()
Description copied from interface:ITransactionalOperationReturnstrueif thisITransactionalOperationhas no effect (in comparison to its initial state). Otherwise returnsfalse.- Specified by:
isNoOpin interfaceITransactionalOperation- Returns:
trueif thisITransactionalOperationhas no effect, otherwisefalse.
-
redo
public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
- Specified by:
redoin interfaceIUndoableOperation- Specified by:
redoin classAbstractOperation- Throws:
ExecutionException
-
setNewContents
public void setNewContents(java.util.List<? extends java.lang.Object> newContents)
Sets the final contents to the given list.- Parameters:
newContents- The new final contents.
-
undo
public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
- Specified by:
undoin interfaceIUndoableOperation- Specified by:
undoin classAbstractOperation- Throws:
ExecutionException
-
-