Class 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.
  • 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