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

## Class UndoablePropertySheetPage

- java.lang.Object
- - org.eclipse.ui.part.Page
  - - org.eclipse.ui.views.properties.PropertySheetPage
    - - org.eclipse.gef.mvc.fx.ui.properties.UndoablePropertySheetPage

All Implemented Interfaces:
  java.util.EventListener, org.eclipse.core.runtime.IAdaptable, org.eclipse.ui.ISelectionListener, org.eclipse.ui.part.IPage, org.eclipse.ui.part.IPageBookViewPage, org.eclipse.ui.views.properties.IPropertySheetPage

    public class UndoablePropertySheetPage
    extends org.eclipse.ui.views.properties.PropertySheetPage

PropertySheetPage extension that allows to perform undo/redo of property value changes also in case the related `IWorkbenchPart` is not active.

### Field Summary

### Fields inherited from class org.eclipse.ui.views.properties.PropertySheetPage

`HELP_CONTEXT_PROPERTY_SHEET_PAGE`

### Constructor Summary

Constructors
Constructor and Description
`UndoablePropertySheetPage(org.eclipse.ui.IWorkbenchPart workbenchPart, org.eclipse.core.commands.operations.IOperationHistory operationHistory, org.eclipse.core.commands.operations.IUndoContext undoContext)` Constructs a new `UndoablePropertySheetPage` using the provided `IOperationHistory`.

### Method Summary

All Methods Instance Methods Concrete Methods
`protected UndoablePropertySheetEntry` `createRootEntry()` Creates the `IPropertySheetEntry` that is used as the root entry of this `UndoablePropertySheetPage`.
`void` `dispose()` Overwritten to unregister command stack listener.
`org.eclipse.ui.IWorkbenchPart` `getWorkbenchPart()` Returns the `IWorkbenchPart` this `UndoablePropertySheetPage` is related to.
`void` `setActionBars(org.eclipse.ui.IActionBars actionBars)`

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

`createControl, getAdapter, getControl, getSaveablePart, handleEntrySelection, initDragAndDrop, makeContributions, refresh, selectionChanged, setFocus, setPropertySourceProvider, setRootEntry, setSorter`

### Methods inherited from class org.eclipse.ui.part.Page

`getSite, init`

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

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

### Constructor Detail

#### UndoablePropertySheetPage

    @Inject
    public UndoablePropertySheetPage(org.eclipse.ui.IWorkbenchPart workbenchPart,
                                             org.eclipse.core.commands.operations.IOperationHistory operationHistory,
                                             org.eclipse.core.commands.operations.IUndoContext undoContext)

Constructs a new `UndoablePropertySheetPage` using the provided `IOperationHistory`.

Parameters:
  `operationHistory` - The `IOperationHistory` shared with the editor/view.
  `undoContext` - The `IUndoContext` shared with the editor/view.
  `workbenchPart` - The `IWorkbenchPart` this `UndoablePropertySheetPage` is related to. .

### Method Detail

#### createRootEntry

    protected UndoablePropertySheetEntry createRootEntry()

Creates the `IPropertySheetEntry` that is used as the root entry of this `UndoablePropertySheetPage`.

Returns:
  A new `UndoablePropertySheetEntry`, bound to the `IOperationHistory` and `IUndoContext` used by this `UndoablePropertySheetPage`.

#### dispose

    public void dispose()

Overwritten to unregister command stack listener.

Specified by:
  `dispose` in interface `org.eclipse.ui.part.IPage`
Overrides:
  `dispose` in class `org.eclipse.ui.views.properties.PropertySheetPage`
See Also:
  `PropertySheetPage.dispose()`

#### getWorkbenchPart

    public org.eclipse.ui.IWorkbenchPart getWorkbenchPart()

Returns the `IWorkbenchPart` this `UndoablePropertySheetPage` is related to.

Returns:
  The `IWorkbenchPart` that was passed in upon creation.

#### setActionBars

    public void setActionBars(org.eclipse.ui.IActionBars actionBars)

Specified by:
  `setActionBars` in interface `org.eclipse.ui.part.IPage`
Overrides:
  `setActionBars` in class `org.eclipse.ui.views.properties.PropertySheetPage`