org.eclipse.debug.ui

## Class StringVariableSelectionDialog

- 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.AbstractElementListSelectionDialog
            - - org.eclipse.ui.dialogs.ElementListSelectionDialog
              - - org.eclipse.debug.ui.StringVariableSelectionDialog

All Implemented Interfaces:
  IShellProvider

    public class StringVariableSelectionDialog
    extends ElementListSelectionDialog

A dialog that prompts the user to choose and configure a string substitution variable.

Clients may instantiate this class.

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

### Nested Class Summary

Nested Classes
`static class` `StringVariableSelectionDialog.VariableFilter` Base class for custom variable filters.

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

`Window.IExceptionHandler`

### Field Summary

### Fields inherited from class org.eclipse.ui.dialogs.AbstractElementListSelectionDialog

`fFilteredList`

### 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 and Description
`StringVariableSelectionDialog(Shell parent)` Constructs a new string substitution variable selection dialog.

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `addVariableFilter(StringVariableSelectionDialog.VariableFilter filter)` Add the given variable filter.
`protected void` `configureArgument()` Configures the argument for the selected variable.
`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).
`protected void` `editVariables()` Opens the preference dialog to the correct page an allows editing of variables
`protected IDialogSettings` `getDialogBoundsSettings()` Gets the dialog settings that should be used for remembering the bounds of the dialog, according to the dialog bounds strategy.
`String` `getVariableExpression()` Returns the variable expression the user generated from this dialog, or `null` if none.
`protected void` `handleSelectionChanged()` Update variable description and argument button enablement.
`protected void` `okPressed()` Notifies that the ok button of this dialog has been pressed.
`void` `setFilters(StringVariableSelectionDialog.VariableFilter[] filters)` Sets the filters, replacing any previous filters.
`protected void` `setListElements(Object[] elements)` Sets the elements of the list (widget).

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

`computeResult, setElements`

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

`cancelPressed, create, createFilteredList, createFilterText, createMessageArea, getFilter, getFoldedElements, getSelectedElements, getSelectionIndex, getSelectionIndices, getValidator, handleDefaultSelected, handleElementsChanged, handleEmptyList, isCaseIgnored, open, setAllowDuplicates, setEmptyListMessage, setEmptySelectionMessage, setFilter, setIgnoreCase, setMatchEmptyString, setMultipleSelection, setSelection, setSize, setValidator, updateOkState, validateCurrentSelection`

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

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

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

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

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

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

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

`applyDialogFont, buttonPressed, close, convertHeightInCharsToPixels, convertHeightInCharsToPixels, convertHorizontalDLUsToPixels, convertHorizontalDLUsToPixels, convertVerticalDLUsToPixels, convertVerticalDLUsToPixels, convertWidthInCharsToPixels, convertWidthInCharsToPixels, 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, 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 Detail

#### StringVariableSelectionDialog

    public StringVariableSelectionDialog(Shell parent)

Constructs a new string substitution variable selection dialog.

Parameters:
  `parent` - parent shell

### Method Detail

#### getVariableExpression

    public String getVariableExpression()

Returns the variable expression the user generated from this dialog, or `null` if none.

Returns:
  variable expression the user generated from this dialog, or `null` if none

#### addVariableFilter

    public void addVariableFilter(StringVariableSelectionDialog.VariableFilter filter)

Add the given variable filter. Has no effect if the given filter has already been added. Must be called before the dialog is opened.

Parameters:
  `filter` - the filter to add
Since:
  3.6

#### setFilters

    public void setFilters(StringVariableSelectionDialog.VariableFilter[] filters)

Sets the filters, replacing any previous filters. Must be called before the dialog is opened.

Parameters:
  `filters` - an array of variable filters, use empty Array or `null` to reset all Filters.
Since:
  3.6

#### setListElements

    protected void setListElements(Object[] elements)

Description copied from class: `AbstractElementListSelectionDialog`
Sets the elements of the list (widget).

Overrides:
  `setListElements` in class `AbstractElementListSelectionDialog`
Parameters:
  `elements` - the elements of the list.

#### 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 `ElementListSelectionDialog`
Parameters:
  `parent` - the parent composite to contain the dialog area
Returns:
  the dialog area control

#### editVariables

    protected void editVariables()

Opens the preference dialog to the correct page an allows editing of variables

#### configureArgument

    protected void configureArgument()

Configures the argument for the selected variable.

#### handleSelectionChanged

    protected void handleSelectionChanged()

Update variable description and argument button enablement.

Overrides:
  `handleSelectionChanged` in class `AbstractElementListSelectionDialog`
See Also:
  `AbstractElementListSelectionDialog.handleSelectionChanged()`

#### okPressed

    protected void okPressed()

Description copied from class: `Dialog`
Notifies that the ok button of this dialog has been pressed.

The `Dialog` implementation of this framework method sets this dialog's return code to `Window.OK` and closes the dialog. Subclasses may override.

Overrides:
  `okPressed` in class `SelectionStatusDialog`

#### getDialogBoundsSettings

    protected IDialogSettings getDialogBoundsSettings()

Description copied from class: `SelectionDialog`
Gets the dialog settings that should be used for remembering the bounds of the dialog, according to the dialog bounds strategy. Overridden to provide the dialog settings that were set using `SelectionDialog.setDialogBoundsSettings(IDialogSettings, int)`.

Overrides:
  `getDialogBoundsSettings` in class `SelectionDialog`
Returns:
  the dialog settings used to store the dialog's location and/or size, or `null` if the dialog's bounds should not be stored.
See Also:
  `Dialog.getDialogBoundsStrategy()`, `SelectionDialog.setDialogBoundsSettings(IDialogSettings, int)`