public class ChangeContentsOperation extends AbstractOperation implements ITransactionalOperation
ChangeContentsOperation
can be used to change the content objects
stored in the ContentModel
.Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DEFAULT_LABEL
"Change Contents"
The default label for this operation (i.e. used if no label is
specified).
|
Constructor and Description |
---|
ChangeContentsOperation(IViewer<?> viewer)
Constructs a new
ChangeContentsOperation that can be used to
change the contents of the given IViewer . |
ChangeContentsOperation(IViewer<?> viewer,
java.util.List<? extends java.lang.Object> contents)
Creates a new
ChangeContentsOperation for changing the contents
of the given IViewer to the specified list of objects. |
ChangeContentsOperation(java.lang.String label,
IViewer<?> viewer,
java.util.List<? extends java.lang.Object> contents)
Creates a new
ChangeContentsOperation for changing the contents
of the given IViewer to the specified list of objects. |
Modifier and Type | Method and 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()
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 |
setNewContents(java.util.List<? extends java.lang.Object> newContents)
Sets the final contents to the given list.
|
IStatus |
undo(IProgressMonitor monitor,
IAdaptable info) |
addContext, canExecute, canRedo, canUndo, dispose, getContexts, getLabel, hasContext, removeContext, setLabel, toString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
addContext, canExecute, canRedo, canUndo, dispose, getContexts, getLabel, hasContext, removeContext
public static final java.lang.String DEFAULT_LABEL
"Change Contents"The default label for this operation (i.e. used if no label is specified).
public ChangeContentsOperation(IViewer<?> viewer)
ChangeContentsOperation
that can be used to
change the contents of the given IViewer
.
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.
viewer
- The IViewer
of which the ContentModel
is to be
changed.public ChangeContentsOperation(IViewer<?> viewer, java.util.List<? extends java.lang.Object> contents)
ChangeContentsOperation
for changing the contents
of the given IViewer
to the specified list of objects.viewer
- The IViewer
of which the ContentModel
is to be
changed.contents
- The new content objects to store in the ContentModel
.public ChangeContentsOperation(java.lang.String label, IViewer<?> viewer, java.util.List<? extends java.lang.Object> contents)
ChangeContentsOperation
for changing the contents
of the given IViewer
to the specified list of objects. The given
label is used as the label of the operation.label
- The label of the operation.viewer
- The IViewer
of which the ContentModel
is to be
changed.contents
- The new content objects to store in the ContentModel
.public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
execute
in interface IUndoableOperation
execute
in class AbstractOperation
ExecutionException
protected java.util.List<? extends java.lang.Object> getInitialContents()
protected java.util.List<? extends java.lang.Object> getNewContents()
public boolean isContentRelevant()
ITransactionalOperation
true
if this ITransactionalOperation
is
actually changing model data (instead of only affecting the
visualization). Otherwise returns false
. The content
relevancy 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.isContentRelevant
in interface ITransactionalOperation
true
if this ITransactionalOperation
is
actually changing model data, otherwise false
.public boolean isNoOp()
ITransactionalOperation
true
if this ITransactionalOperation
has no
effect (in comparison to its initial state). Otherwise returns
false
.isNoOp
in interface ITransactionalOperation
true
if this ITransactionalOperation
has no
effect, otherwise false
.public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
redo
in interface IUndoableOperation
redo
in class AbstractOperation
ExecutionException
public void setNewContents(java.util.List<? extends java.lang.Object> newContents)
newContents
- The new final contents.public IStatus undo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
undo
in interface IUndoableOperation
undo
in class AbstractOperation
ExecutionException
Copyright (c) 2014 itemis AG and others. All rights reserved.