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
TheChangeContentsOperation
can be used to change the content objects stored in theIViewer.contentsProperty()
.
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
DEFAULT_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 newChangeContentsOperation
for changing the contents of the givenIViewer
to the specified list of objects.ChangeContentsOperation(IViewer viewer)
Constructs a newChangeContentsOperation
that can be used to change the contents of the givenIViewer
.ChangeContentsOperation(IViewer viewer, java.util.List<? extends java.lang.Object> contents)
Creates a newChangeContentsOperation
for changing the contents of the givenIViewer
to the specified list of objects.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IStatus
execute(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.boolean
isContentRelevant()
Returnstrue
if thisITransactionalOperation
is actually changing model data (instead of only affecting the visualization).boolean
isNoOp()
Returnstrue
if thisITransactionalOperation
has no effect (in comparison to its initial state).IStatus
redo(IProgressMonitor monitor, IAdaptable info)
void
setNewContents(java.util.List<? extends java.lang.Object> newContents)
Sets the final contents to the given list.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 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 newChangeContentsOperation
that 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
- TheIViewer
of which theIViewer.contentsProperty()
is to be changed.
-
ChangeContentsOperation
public ChangeContentsOperation(IViewer viewer, java.util.List<? extends java.lang.Object> contents)
Creates a newChangeContentsOperation
for changing the contents of the givenIViewer
to the specified list of objects.- Parameters:
viewer
- TheIViewer
of 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 newChangeContentsOperation
for changing the contents of the givenIViewer
to the specified list of objects. The given label is used as the label of the operation.- Parameters:
label
- The label of the operation.viewer
- TheIViewer
of 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:
execute
in interfaceIUndoableOperation
- Specified by:
execute
in 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:ITransactionalOperation
Returnstrue
if thisITransactionalOperation
is actually changing model data (instead of only affecting the visualization). Otherwise returnsfalse
. The content relevance of anITransactionalOperation
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 interfaceITransactionalOperation
- Returns:
true
if thisITransactionalOperation
is actually changing model data, otherwisefalse
.
-
isNoOp
public boolean isNoOp()
Description copied from interface:ITransactionalOperation
Returnstrue
if thisITransactionalOperation
has no effect (in comparison to its initial state). Otherwise returnsfalse
.- Specified by:
isNoOp
in interfaceITransactionalOperation
- Returns:
true
if thisITransactionalOperation
has no effect, otherwisefalse
.
-
redo
public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
- Specified by:
redo
in interfaceIUndoableOperation
- Specified by:
redo
in 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:
undo
in interfaceIUndoableOperation
- Specified by:
undo
in classAbstractOperation
- Throws:
ExecutionException
-
-