public class ChangeContentsOperation extends AbstractOperation implements ITransactionalOperation
ChangeContentsOperation can be used to change the content objects
stored in the IViewer.contentsProperty().| 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, toStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaddContext, canExecute, canRedo, canUndo, dispose, getContexts, getLabel, hasContext, removeContextpublic 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
IViewer.contentsProperty() 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
IViewer.contentsProperty() is to be changed.contents - The new content objects to store in the
IViewer.contentsProperty().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
IViewer.contentsProperty() is to be changed.contents - The new content objects to store in the
IViewer.contentsProperty().public IStatus execute(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
execute in interface IUndoableOperationexecute in class AbstractOperationExecutionExceptionprotected java.util.List<? extends java.lang.Object> getInitialContents()
protected java.util.List<? extends java.lang.Object> getNewContents()
public boolean isContentRelevant()
ITransactionalOperationtrue 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.isContentRelevant in interface ITransactionalOperationtrue if this ITransactionalOperation is
actually changing model data, otherwise false.public boolean isNoOp()
ITransactionalOperationtrue if this ITransactionalOperation has no
effect (in comparison to its initial state). Otherwise returns
false.isNoOp in interface ITransactionalOperationtrue if this ITransactionalOperation has no
effect, otherwise false.public IStatus redo(IProgressMonitor monitor, IAdaptable info) throws ExecutionException
redo in interface IUndoableOperationredo in class AbstractOperationExecutionExceptionpublic 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 IUndoableOperationundo in class AbstractOperationExecutionExceptionCopyright (c) 2014, 2016 itemis AG and others. All rights reserved.