Package org.eclipse.ui.dialogs

# Class ListSelectionDialog

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.ListSelectionDialog

All Implemented Interfaces:
  `IShellProvider`

Direct Known Subclasses:
  `YesNoCancelListSelectionDialog`

public class ListSelectionDialog extends SelectionDialog
A standard dialog which solicits a list of selections from the user. This class is configured with an arbitrary data model represented by content and label provider objects. The `getResult` method returns the selected elements.

This class may be instantiated; it is not intended to be subclassed.

Example:

     ListSelectionDialog dlg = new ListSelectionDialog(getShell(), input, new BaseWorkbenchContentProvider(),
                    new WorkbenchLabelProvider(), "Select the resources to save:");
     dlg.setInitialSelections(dirtyEditors);
     dlg.setTitle("Save Resources");
     dlg.open();

Restriction:
  This class is not intended to be subclassed by clients.

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static final class`
`ListSelectionDialog.Builder`
The Builder to create `ListSelectionDialog` instances.

## Nested classes/interfaces inherited from class org.eclipse.jface.window.Window

`Window.IExceptionHandler`

## Field Summary

### Fields inherited from class org.eclipse.jface.dialogs.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 org.eclipse.jface.window.Window

`CANCEL, OK, resizeHasOccurred`

## Constructor Summary

Constructors
Constructor
Description
`ListSelectionDialog(Shell parentShell, Object input, IStructuredContentProvider contentProvider, ILabelProvider labelProvider, String message)`
Deprecated.
since 3.123; use `of(Object)` instead: `ListSelectionDialog.of(input).contentProvider(contentProvider).labelProvider(labelProvider).message(message).create(parentShell)`

## Method Summary

Modifier and Type
Method
Description
`protected void`
`configureShell(Shell shell)`
Configures the given shell in preparation for opening this window in it.
`protected void`
`createButtonsForButtonBar(Composite parent)`
Adds buttons to this dialog's button bar.
`protected Control`
`createContents(Composite parent)`
The `Dialog` implementation of this `Window` method creates and lays out the top level composite for the dialog, and determines the appropriate horizontal and vertical dialog units based on the font size.
`protected Control`
`createDialogArea(Composite parent)`
Creates and returns the contents of the upper part of this dialog (above the button bar).
`boolean`
`getCheckboxValue()`
`protected CheckboxTableViewer`
`getViewer()`
Returns the viewer used to show the list.
`static ListSelectionDialog.Builder`
`of(Object input)`
Creates a new `ListSelectionDialog` `ListSelectionDialog.Builder` for the given input.
`protected void`
`okPressed()`
The `ListSelectionDialog` implementation of this `Dialog` method builds a list of the selected elements for later retrieval by the client and closes this dialog.

### Methods inherited from class org.eclipse.ui.dialogs.SelectionDialog

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

### Methods inherited from class org.eclipse.jface.dialogs.TrayDialog

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

### Methods inherited from class org.eclipse.jface.dialogs.Dialog

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

### Methods inherited from class org.eclipse.jface.window.Window

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

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

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

## Constructor Details

### ListSelectionDialog

@Deprecated public ListSelectionDialog(Shell parentShell, Object input, IStructuredContentProvider contentProvider, ILabelProvider labelProvider, String message)
Deprecated.
since 3.123; use `of(Object)` instead: `ListSelectionDialog.of(input).contentProvider(contentProvider).labelProvider(labelProvider).message(message).create(parentShell)`
Creates a list selection dialog.

Parameters:
  `parentShell` - the parent shell
  `input` - the root element to populate this dialog with
  `contentProvider` - the content provider for navigating the model
  `labelProvider` - the label provider for displaying model elements
  `message` - the message to be displayed at the top of this dialog, or `null` to display a default message

## Method Details

### of

public static ListSelectionDialog.Builder of(Object input)
Creates a new `ListSelectionDialog` `ListSelectionDialog.Builder` for the given input.

Example:

     ListSelectionDialog dialog = ListSelectionDialog.of(input).title(title).message(message).create(shell);

Parameters:
  `input` - the root element to populate this dialog with
Returns:
  a new `ListSelectionDialog.Builder` instance
Since:
  3.123

### configureShell

protected void configureShell(Shell shell)
Description copied from class: `Window`
Configures the given shell in preparation for opening this window in it.

The default implementation of this framework method sets the shell's image and gives it a grid layout. Subclasses may extend or reimplement.

Overrides:
  `configureShell` in class `SelectionDialog`
Parameters:
  `shell` - the shell

### createContents

protected Control createContents(Composite parent)
Description copied from class: `Dialog`
The `Dialog` implementation of this `Window` method creates and lays out the top level composite for the dialog, and determines the appropriate horizontal and vertical dialog units based on the font size. It then calls the `createDialogArea` and `createButtonBar` methods to create the dialog area and button bar, respectively. Overriding `createDialogArea` and `createButtonBar` are recommended rather than overriding this method.

Overrides:
  `createContents` in class `Dialog`
Parameters:
  `parent` - the parent composite for the controls in this window. The type of layout used is determined by getLayout()
Returns:
  the control that will be returned by subsequent calls to getContents()

### 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

### createButtonsForButtonBar

protected void createButtonsForButtonBar(Composite parent)
Description copied from class: `Dialog`
Adds buttons to this dialog's button bar.

The `Dialog` implementation of this framework method adds standard ok and cancel buttons using the `createButton` framework method. These standard buttons will be accessible from `getCancelButton`, and `getOKButton`. Subclasses may override.

Note: The common button order is: {other buttons}, OK, Cancel. On some platforms, `Dialog.initializeBounds()` will move the default button to the right.

Overrides:
  `createButtonsForButtonBar` in class `SelectionDialog`
Parameters:
  `parent` - the button bar composite

### getViewer

protected CheckboxTableViewer getViewer()
Returns the viewer used to show the list.

Returns:
  the viewer, or `null` if not yet created

### getCheckboxValue

public boolean getCheckboxValue()

Returns:
  the current or, if the dialog has been closed, the last value of the optional check box; `false` when there is no optional check box and no default value has been set
Since:
  3.123

### okPressed

protected void okPressed()
The `ListSelectionDialog` implementation of this `Dialog` method builds a list of the selected elements for later retrieval by the client and closes this dialog.

Overrides:
  `okPressed` in class `Dialog`