org.eclipse.gef.mvc.fx.ui.properties

## Class UndoablePropertySheetEntry

- java.lang.Object
- - org.eclipse.core.commands.common.EventManager
  - - org.eclipse.ui.views.properties.PropertySheetEntry
    - - org.eclipse.gef.mvc.fx.ui.properties.UndoablePropertySheetEntry

All Implemented Interfaces:
  IPropertySheetEntry

    public class UndoablePropertySheetEntry
    extends PropertySheetEntry

UndoablePropertySheetEntry provides undo support for changes made to IPropertySources by the PropertySheetViewer. Clients can construct a `PropertySheetPage` and use this class as the root entry. All changes made to property sources displayed on that page will be done using the provided `IOperationHistory`.

NOTE: If you intend to use an IPropertySourceProvider for a PropertySheetPage whose root entry is an instance of of UndoablePropertySheetEntry, you should set the IPropertySourceProvider on that root entry, rather than the PropertySheetPage.

### Field Summary

### Fields inherited from interface org.eclipse.ui.views.properties.IPropertySheetEntry

`FILTER_ID_EXPERT`

### Constructor Summary

Constructors
Constructor and Description
`UndoablePropertySheetEntry(IWorkbenchPart workbenchPart, IOperationHistory operationHistory, IUndoContext undoContext)` Constructs a new root entry.

### Method Summary

All Methods Instance Methods Concrete Methods
`protected PropertySheetEntry` `createChildEntry()`
`void` `dispose()`
`protected IOperationHistory` `getOperationHistory()` Returns the `IOperationHistory` that is used by this entry.
`protected IPropertySource` `getPropertySource(Object object)`
`void` `resetPropertyValue()`
`void` `setValues(Object[] objects)`
`protected void` `valueChanged(PropertySheetEntry child)`
`protected void` `valueChanged(UndoablePropertySheetEntry child, ITransactionalOperation operation)` Update parent entry about change, being encapsulated into the given operation.

### Methods inherited from class org.eclipse.ui.views.properties.PropertySheetEntry

`addPropertySheetEntryListener, applyEditorValue, getBackground, getCategory, getChildEntries, getDescription, getDescriptor, getDisplayName, getEditor, getEditValue, getErrorText, getFilters, getFont, getForeground, getHelpContextIds, getImage, getParent, getValueAsString, getValues, hasChildEntries, refreshFromRoot, removePropertySheetEntryListener, setPropertySourceProvider`

### Methods inherited from class org.eclipse.core.commands.common.EventManager

`addListenerObject, clearListeners, getListeners, isListenerAttached, removeListenerObject`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### UndoablePropertySheetEntry

    public UndoablePropertySheetEntry(IWorkbenchPart workbenchPart,
                                      IOperationHistory operationHistory,
                                      IUndoContext undoContext)

Constructs a new root entry.

Parameters:
  `workbenchPart` - The `IWorkbenchPart` to adapt for an `IPropertySource`, in case no values are provided.
  `operationHistory` - The `IOperationHistory` to use.
  `undoContext` - The `IUndoContext` to use.

### Method Detail

#### createChildEntry

    protected PropertySheetEntry createChildEntry()

Overrides:
  `createChildEntry` in class `PropertySheetEntry`
See Also:
  `PropertySheetEntry.createChildEntry()`

#### dispose

    public void dispose()

Specified by:
  `dispose` in interface `IPropertySheetEntry`
Overrides:
  `dispose` in class `PropertySheetEntry`
See Also:
  `IPropertySheetEntry.dispose()`

#### getOperationHistory

    protected IOperationHistory getOperationHistory()

Returns the `IOperationHistory` that is used by this entry. It is obtained from the parent in case the entry is not a root entry.

Returns:
  the `IOperationHistory` to be used.

#### getPropertySource

    protected IPropertySource getPropertySource(Object object)

Overrides:
  `getPropertySource` in class `PropertySheetEntry`

#### resetPropertyValue

    public void resetPropertyValue()

Specified by:
  `resetPropertyValue` in interface `IPropertySheetEntry`
Overrides:
  `resetPropertyValue` in class `PropertySheetEntry`
See Also:
  `IPropertySheetEntry.resetPropertyValue()`

#### setValues

    public void setValues(Object[] objects)

Specified by:
  `setValues` in interface `IPropertySheetEntry`
Overrides:
  `setValues` in class `PropertySheetEntry`

#### valueChanged

    protected void valueChanged(PropertySheetEntry child)

Overrides:
  `valueChanged` in class `PropertySheetEntry`
See Also:
  `PropertySheetEntry.valueChanged(PropertySheetEntry)`

#### valueChanged

    protected void valueChanged(UndoablePropertySheetEntry child,
                                ITransactionalOperation operation)

Update parent entry about change, being encapsulated into the given operation.

Parameters:
  `child` - The child entry that changed.
  `operation` - An operation encapsulating the change.