Package org.eclipse.ui.dialogs
Class TwoPaneElementSelector
-
- All Implemented Interfaces:
IShellProvider
public class TwoPaneElementSelector extends AbstractElementListSelectionDialog
A list selection dialog with two panes. Duplicated entries will be folded together and are displayed in the lower pane (qualifier).- Since:
- 2.0
-
-
Nested Class Summary
-
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 Description TwoPaneElementSelector(Shell parent, ILabelProvider elementRenderer, ILabelProvider qualifierRenderer)
Creates the two pane element selector.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
computeResult()
Compute the result and return it.Control
createDialogArea(Composite parent)
Creates and returns the contents of the upper part of this dialog (above the button bar).protected Label
createLabel(Composite parent, String name)
Creates a label if name was notnull
.protected Table
createLowerList(Composite parent)
Creates the list widget and sets layout data.protected Object
getLowerSelectedElement()
Returns the selected element from the lower pane.protected void
handleDefaultSelected()
Handles default selection (double click).protected void
handleEmptyList()
Handles empty list by disabling widgets.protected void
handleSelectionChanged()
Handles a selection changed event.void
setElements(Object[] elements)
Sets the elements to be displayed.void
setLowerListComparator(Comparator comparator)
Sets the comparator used to sort the list in the lower pane.void
setLowerListLabel(String label)
Sets the lower list label.protected void
setLowerSelectedElement(Object element)
Selects an element in the lower pane.void
setUpperListLabel(String label)
Sets the upper list label.protected boolean
validateCurrentSelection()
Validates the current selection and updates the status line accordingly.-
Methods inherited from class org.eclipse.ui.dialogs.AbstractElementListSelectionDialog
cancelPressed, create, createFilteredList, createFilterText, createMessageArea, getFilter, getFoldedElements, getSelectedElements, getSelectionIndex, getSelectionIndices, getValidator, handleElementsChanged, isCaseIgnored, open, setAllowDuplicates, setEmptyListMessage, setEmptySelectionMessage, setFilter, setIgnoreCase, setListElements, setMatchEmptyString, setMultipleSelection, setSelection, setSize, setValidator, updateOkState
-
Methods inherited from class org.eclipse.ui.dialogs.SelectionStatusDialog
configureShell, createButtonBar, getFirstResult, okPressed, setImage, setResult, setStatusLineAboveButtons, updateButtonsEnableState, updateStatus
-
Methods inherited from class org.eclipse.ui.dialogs.SelectionDialog
createButtonsForButtonBar, 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, 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, createContents, 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
-
-
-
-
Constructor Detail
-
TwoPaneElementSelector
public TwoPaneElementSelector(Shell parent, ILabelProvider elementRenderer, ILabelProvider qualifierRenderer)
Creates the two pane element selector.- Parameters:
parent
- the parent shell.elementRenderer
- the element renderer.qualifierRenderer
- the qualifier renderer.
-
-
Method Detail
-
setUpperListLabel
public void setUpperListLabel(String label)
Sets the upper list label. If the label isnull
(default), no label is created.- Parameters:
label
-
-
setLowerListLabel
public void setLowerListLabel(String label)
Sets the lower list label.- Parameters:
label
- String ornull
. If the label isnull
(default), no label is created.
-
setLowerListComparator
public void setLowerListComparator(Comparator comparator)
Sets the comparator used to sort the list in the lower pane.Note: the comparator might want to honor
AbstractElementListSelectionDialog.isCaseIgnored()
.- Parameters:
comparator
- a Comparator ornull
ifString
's comparison methods should be used- Since:
- 3.5
-
setElements
public void setElements(Object[] elements)
Sets the elements to be displayed.- Parameters:
elements
- the elements to be displayed.
-
createDialogArea
public 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 newComposite
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 classDialog
- Parameters:
parent
- the parent composite to contain the dialog area- Returns:
- the dialog area control
-
createLabel
protected Label createLabel(Composite parent, String name)
Creates a label if name was notnull
.- Parameters:
parent
- the parent composite.name
- the name of the label.- Returns:
- returns a label if a name was given,
null
otherwise.
-
createLowerList
protected Table createLowerList(Composite parent)
Creates the list widget and sets layout data.- Parameters:
parent
- the parent composite.- Returns:
- returns the list table widget.
-
computeResult
protected void computeResult()
Description copied from class:SelectionStatusDialog
Compute the result and return it.- Specified by:
computeResult
in classSelectionStatusDialog
- See Also:
SelectionStatusDialog.computeResult()
-
handleDefaultSelected
protected void handleDefaultSelected()
Description copied from class:AbstractElementListSelectionDialog
Handles default selection (double click). By default, the OK button is pressed.- Overrides:
handleDefaultSelected
in classAbstractElementListSelectionDialog
- See Also:
AbstractElementListSelectionDialog.handleDefaultSelected()
-
handleSelectionChanged
protected void handleSelectionChanged()
Description copied from class:AbstractElementListSelectionDialog
Handles a selection changed event. By default, the current selection is validated.- Overrides:
handleSelectionChanged
in classAbstractElementListSelectionDialog
- See Also:
AbstractElementListSelectionDialog.handleSelectionChanged()
-
setLowerSelectedElement
protected void setLowerSelectedElement(Object element)
Selects an element in the lower pane.- Parameters:
element
-
-
getLowerSelectedElement
protected Object getLowerSelectedElement()
Returns the selected element from the lower pane.- Returns:
- Object
-
handleEmptyList
protected void handleEmptyList()
Description copied from class:AbstractElementListSelectionDialog
Handles empty list by disabling widgets.- Overrides:
handleEmptyList
in classAbstractElementListSelectionDialog
-
validateCurrentSelection
protected boolean validateCurrentSelection()
Description copied from class:AbstractElementListSelectionDialog
Validates the current selection and updates the status line accordingly.- Overrides:
validateCurrentSelection
in classAbstractElementListSelectionDialog
- Returns:
- boolean
true
if the current selection is valid. - Since:
- 3.5
- See Also:
AbstractElementListSelectionDialog.validateCurrentSelection()
-
-