# Class ElementTreeSelectionDialog

java.lang.Object
org.eclipse.jface.window.Window
org.eclipse.jface.dialogs.Dialog
org.eclipse.jface.dialogs.TrayDialog
org.eclipse.ui.dialogs.SelectionDialog
org.eclipse.ui.dialogs.SelectionStatusDialog
org.eclipse.ui.dialogs.ElementTreeSelectionDialog

All Implemented Interfaces:
  `IShellProvider`

public class ElementTreeSelectionDialog extends SelectionStatusDialog
A class to select elements out of a tree structure.

Since:
  2.0

## Nested Class Summary

### Nested classes/interfaces inherited from class Window

`Window.IExceptionHandler`

## Field Summary

### Fields inherited from class Dialog

`blockedHandler, buttonBar, DIALOG_DEFAULT_BOUNDS, DIALOG_PERSISTLOCATION, DIALOG_PERSISTSIZE, dialogArea, DLG_IMG_ERROR, DLG_IMG_HELP, DLG_IMG_INFO, DLG_IMG_MESSAGE_ERROR, DLG_IMG_MESSAGE_INFO, DLG_IMG_MESSAGE_WARNING, DLG_IMG_QUESTION, DLG_IMG_WARNING, ELLIPSIS`

### Fields inherited from class Window

`CANCEL, OK, resizeHasOccurred`

## Constructor Summary

Constructors
Constructor
Description
`ElementTreeSelectionDialog(Shell parent, IBaseLabelProvider labelProvider, ITreeContentProvider contentProvider)`
Constructs an instance of `ElementTreeSelectionDialog`.
`ElementTreeSelectionDialog(Shell parent, ILabelProvider labelProvider, ITreeContentProvider contentProvider)`
Constructs an instance of `ElementTreeSelectionDialog`.

## Method Summary

Modifier and Type
Method
Description
`protected void`
`access$setResult(List result)`
Set the result using the super class implementation of setResult.
`protected void`
`access$superButtonPressed(int id)`
Set the result using the super class implementation of buttonPressed.
`void`
`addFilter(ViewerFilter filter)`
Adds a filter to the tree viewer.
`protected void`
`cancelPressed()`
Handles cancel button pressed event.
`protected void`
`computeResult()`
Compute the result and return it.
`void`
`create()`
Creates this window's widgetry in a new top-level shell.
`protected Control`
`createDialogArea(Composite parent)`
Creates and returns the contents of the upper part of this dialog (above the button bar).
`protected TreeViewer`
`createTreeViewer(Composite parent)`
Creates and initializes the tree viewer.
`protected TreeViewer`
`doCreateTreeViewer(Composite parent, int style)`
Creates the tree viewer.
`protected TreeViewer`
`getTreeViewer()`
Returns the tree viewer.
`protected void`
`handleShellCloseEvent()`
Notifies that the window's close button was pressed, the close menu was selected, or the ESCAPE key pressed.
`int`
`open()`
Opens this window, creating it first if it has not yet been created.
`void`
`setAllowMultiple(boolean allowMultiple)`
Specifies if multiple selection is allowed.
`void`
`setComparator(ViewerComparator comparator)`
Sets the comparator used by the tree viewer.
`void`
`setDoubleClickSelects(boolean doubleClickSelects)`
Specifies if default selected events (double click) are created.
`void`
`setEmptyListMessage(String message)`
Sets the message to be displayed if the list is empty.
`void`
`setInitialSelection(Object selection)`
Sets the initial selection.
`void`
`setInput(Object input)`
Sets the tree input.
`void`
`setSize(int width, int height)`
Sets the size of the tree in unit of characters.
`void`
`setSorter(ViewerSorter sorter)`
Deprecated.
as of 3.3, use `setComparator(ViewerComparator)` instead
`void`
`setValidator(ISelectionStatusValidator validator)`
Sets an optional validator to check if the selection is valid.
`protected void`
`updateOKStatus()`
Validate the receiver and update the ok status.

### Methods inherited from class SelectionStatusDialog

`configureShell, createButtonBar, getFirstResult, okPressed, setImage, setResult, setStatusLineAboveButtons, updateButtonsEnableState, updateStatus`

### Methods inherited from class SelectionDialog

`createButtonsForButtonBar, createMessageArea, getDialogBoundsSettings, getDialogBoundsStrategy, getInitialElementSelections, getInitialSelections, getMessage, getOkButton, getResult, isResizable, setDialogBoundsSettings, setInitialElementSelections, setInitialSelections, setMessage, setResult, setSelectionResult, setTitle`

### Methods inherited from class TrayDialog

`closeTray, createHelpControl, getLayout, getTray, isDialogHelpAvailable, isHelpAvailable, openTray, setDialogHelpAvailable, setHelpAvailable`

### Methods inherited from class Dialog

`applyDialogFont, buttonPressed, close, convertHeightInCharsToPixels, convertHeightInCharsToPixels, convertHorizontalDLUsToPixels, convertHorizontalDLUsToPixels, convertVerticalDLUsToPixels, convertVerticalDLUsToPixels, convertWidthInCharsToPixels, convertWidthInCharsToPixels, createButton, createContents, dialogFontIsDefault, getBlockedHandler, getButton, getButtonBar, getCancelButton, getDialogArea, getImage, getInitialLocation, getInitialSize, getOKButton, initializeBounds, initializeDialogUnits, setBlockedHandler, setButtonLayoutData, setButtonLayoutFormData, shortenText`

### Methods inherited from class Window

`canHandleShellCloseEvent, constrainShellSize, createShell, getConstrainedShellBounds, getContents, getDefaultImage, getDefaultImages, getDefaultOrientation, getParentShell, getReturnCode, getShell, getShellListener, getShellStyle, getWindowManager, handleFontChange, setBlockOnOpen, setDefaultImage, setDefaultImages, setDefaultModalParent, setDefaultOrientation, setExceptionHandler, setParentShell, setReturnCode, setShellStyle, setWindowManager`

### Methods inherited from class Object

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

## Constructor Details

### ElementTreeSelectionDialog

public ElementTreeSelectionDialog(Shell parent, ILabelProvider labelProvider, ITreeContentProvider contentProvider)
Constructs an instance of `ElementTreeSelectionDialog`.

Parameters:
  `parent` - The parent shell for the dialog
  `labelProvider` - the label provider to render the entries
  `contentProvider` - the content provider to evaluate the tree structure

### ElementTreeSelectionDialog

public ElementTreeSelectionDialog(Shell parent, IBaseLabelProvider labelProvider, ITreeContentProvider contentProvider)
Constructs an instance of `ElementTreeSelectionDialog`.

Parameters:
  `parent` - The parent shell for the dialog
  `labelProvider` - the label provider to render the entries. It must be compatible with the Viewerreturned from `doCreateTreeViewer(Composite, int)`
  `contentProvider` - the content provider to evaluate the tree structure
Since:
  3.106

## Method Details

### setInitialSelection

public void setInitialSelection(Object selection)
Sets the initial selection. Convenience method.

Parameters:
  `selection` - the initial selection.

### setEmptyListMessage

public void setEmptyListMessage(String message)
Sets the message to be displayed if the list is empty.

Parameters:
  `message` - the message to be displayed.

### setAllowMultiple

public void setAllowMultiple(boolean allowMultiple)
Specifies if multiple selection is allowed.

Parameters:
  `allowMultiple` - true if allowed.

### setDoubleClickSelects

public void setDoubleClickSelects(boolean doubleClickSelects)
Specifies if default selected events (double click) are created.

Parameters:
  `doubleClickSelects` - true or false.

### setSorter

@Deprecated public void setSorter(ViewerSorter sorter)
Deprecated.
as of 3.3, use `setComparator(ViewerComparator)` instead
Sets the sorter used by the tree viewer.

Parameters:
  `sorter` - the `ViewerSorter`

### setComparator

public void setComparator(ViewerComparator comparator)
Sets the comparator used by the tree viewer.

Parameters:
  `comparator` - the `ViewerComparator`
Since:
  3.3

### addFilter

public void addFilter(ViewerFilter filter)
Adds a filter to the tree viewer.

Parameters:
  `filter` - a filter.

### setValidator

public void setValidator(ISelectionStatusValidator validator)
Sets an optional validator to check if the selection is valid. The validator is invoked whenever the selection changes.

Parameters:
  `validator` - the validator to validate the selection.

### setInput

public void setInput(Object input)
Sets the tree input.

Parameters:
  `input` - the tree input.

### setSize

public void setSize(int width, int height)
Sets the size of the tree in unit of characters.

Parameters:
  `width` - the width of the tree.
  `height` - the height of the tree.

### updateOKStatus

protected void updateOKStatus()
Validate the receiver and update the ok status.

### open

public int open()
Description copied from class: `Window`
Opens this window, creating it first if it has not yet been created.

If this window has been configured to block on open ( `setBlockOnOpen`), this method waits until the window is closed by the end user, and then it returns the window's return code; otherwise, this method returns immediately. A window's return codes are window-specific, although two standard return codes are predefined: `OK` and `CANCEL`.

Overrides:
  `open` in class `Window`
Returns:
  the return code
See Also:
  - `Window.create()`

### cancelPressed

protected void cancelPressed()
Handles cancel button pressed event.

Overrides:
  `cancelPressed` in class `Dialog`

### computeResult

protected void computeResult()
Description copied from class: `SelectionStatusDialog`
Compute the result and return it.

Specified by:
  `computeResult` in class `SelectionStatusDialog`

### create

public void create()
Description copied from class: `Window`
Creates this window's widgetry in a new top-level shell.

The default implementation of this framework method creates this window's shell (by calling `createShell`), and its controls (by calling `createContents`), then initializes this window's shell bounds (by calling `initializeBounds`).

Overrides:
  `create` in class `SelectionStatusDialog`

### createDialogArea

protected Control createDialogArea(Composite parent)
Description copied from class: `Dialog`
Creates and returns the contents of the upper part of this dialog (above the button bar).

The `Dialog` implementation of this framework method creates and returns a new `Composite` with standard margins and spacing.

The returned control's layout data must be an instance of `GridData`. This method must not modify the parent's layout.

Subclasses must override this method but may call `super` as in the following example:

    Composite composite = (Composite) super.createDialogArea(parent);
    //add controls to composite as necessary
    return composite;

Overrides:
  `createDialogArea` in class `Dialog`
Parameters:
  `parent` - the parent composite to contain the dialog area
Returns:
  the dialog area control

### createTreeViewer

protected TreeViewer createTreeViewer(Composite parent)
Creates and initializes the tree viewer.

Parameters:
  `parent` - the parent composite
Returns:
  the tree viewer
See Also:
  - `doCreateTreeViewer(Composite, int)`

### doCreateTreeViewer

protected TreeViewer doCreateTreeViewer(Composite parent, int style)
Creates the tree viewer.

Parameters:
  `parent` - the parent composite
  `style` - the `SWT` style bits
Returns:
  the tree viewer
Since:
  3.4

### getTreeViewer

protected TreeViewer getTreeViewer()
Returns the tree viewer.

Returns:
  the tree viewer

### access$superButtonPressed

protected void access$superButtonPressed(int id)
Set the result using the super class implementation of buttonPressed.

Parameters:
  `id` - the id of the button that was pressed (see IDialogConstants.*_ID constants)
See Also:
  - `Dialog.buttonPressed(int)`

### access$setResult

protected void access$setResult(List result)
Set the result using the super class implementation of setResult.

Parameters:
  `result` - list of selected elements, or `null` if Cancel was pressed
See Also:
  - `SelectionStatusDialog.setResult(int, Object)`

### handleShellCloseEvent

protected void handleShellCloseEvent()
Description copied from class: `Window`
Notifies that the window's close button was pressed, the close menu was selected, or the ESCAPE key pressed.

The default implementation of this framework method sets the window's return code to `CANCEL` and closes the window using `close`. Subclasses may extend or reimplement.

Overrides:
  `handleShellCloseEvent` in class `TrayDialog`