Package org.eclipse.ui.dialogs
Class AbstractElementListSelectionDialog
- 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
-
- All Implemented Interfaces:
IShellProvider
- Direct Known Subclasses:
ElementListSelectionDialog
,TwoPaneElementSelector
public abstract class AbstractElementListSelectionDialog extends SelectionStatusDialog
An abstract class to select elements out of a list of elements.- Since:
- 2.0
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.jface.window.Window
Window.IExceptionHandler
-
-
Field Summary
Fields Modifier and Type Field Description protected FilteredList
fFilteredList
Allows direct access to the filtered list.-
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 Modifier Constructor Description protected
AbstractElementListSelectionDialog(Shell parent, ILabelProvider renderer)
Constructs a list selection dialog.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
cancelPressed()
Notifies that the cancel button of this dialog has been pressed.void
create()
Creates this window's widgetry in a new top-level shell.protected FilteredList
createFilteredList(Composite parent)
Creates a filtered list.protected Text
createFilterText(Composite parent)
Creates the filter text.protected Label
createMessageArea(Composite composite)
Creates the message text widget and sets layout data.String
getFilter()
Returns the current filter pattern.Object[]
getFoldedElements(int index)
Returns all elements which are folded together to one entry in the list.protected Object[]
getSelectedElements()
Returns an array of the currently selected elements.protected int
getSelectionIndex()
Returns an index referring the first current selection.protected int[]
getSelectionIndices()
Returns the indices referring the current selection.protected ISelectionStatusValidator
getValidator()
Gets the optional validator used to check if the selection is valid.protected void
handleDefaultSelected()
Handles default selection (double click).protected void
handleElementsChanged()
This method is called when the elements of the backing list are changed to refresh the standard dialog widgets.protected void
handleEmptyList()
Handles empty list by disabling widgets.protected void
handleSelectionChanged()
Handles a selection changed event.boolean
isCaseIgnored()
Returns if sorting, filtering and folding is case sensitive.int
open()
Opens this window, creating it first if it has not yet been created.void
setAllowDuplicates(boolean allowDuplicates)
Specifies whether duplicate entries are displayed or not.void
setEmptyListMessage(String message)
Sets the message to be displayed if the list is empty.void
setEmptySelectionMessage(String message)
Sets the message to be displayed if the selection is empty.void
setFilter(String filter)
Sets the filter pattern.void
setIgnoreCase(boolean ignoreCase)
Specifies if sorting, filtering and folding is case sensitive.protected void
setListElements(Object[] elements)
Sets the elements of the list (widget).void
setMatchEmptyString(boolean matchEmptyString)
Specifies whether everything or nothing should be filtered on empty filter string.void
setMultipleSelection(boolean multipleSelection)
Specifies if multiple selection is allowed.protected void
setSelection(Object[] selection)
Sets the selection referenced by an array of elements.void
setSize(int width, int height)
Sets the list size in unit of characters.void
setValidator(ISelectionStatusValidator validator)
Sets an optional validator to check if the selection is valid.protected void
updateOkState()
Update the enablement of the OK button based on whether or not there is a selection.protected boolean
validateCurrentSelection()
Validates the current selection and updates the status line accordingly.-
Methods inherited from class org.eclipse.ui.dialogs.SelectionStatusDialog
computeResult, 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, createDialogArea, 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
-
-
-
-
Field Detail
-
fFilteredList
protected FilteredList fFilteredList
Allows direct access to the filtered list.
-
-
Constructor Detail
-
AbstractElementListSelectionDialog
protected AbstractElementListSelectionDialog(Shell parent, ILabelProvider renderer)
Constructs a list selection dialog.- Parameters:
parent
- The parent for the list.renderer
- ILabelProvider for the list
-
-
Method Detail
-
handleDefaultSelected
protected void handleDefaultSelected()
Handles default selection (double click). By default, the OK button is pressed.
-
setIgnoreCase
public void setIgnoreCase(boolean ignoreCase)
Specifies if sorting, filtering and folding is case sensitive.- Parameters:
ignoreCase
- true if case insensitive, false otherwise.
-
isCaseIgnored
public boolean isCaseIgnored()
Returns if sorting, filtering and folding is case sensitive.- Returns:
- boolean
-
setMatchEmptyString
public void setMatchEmptyString(boolean matchEmptyString)
Specifies whether everything or nothing should be filtered on empty filter string.- Parameters:
matchEmptyString
- boolean
-
setMultipleSelection
public void setMultipleSelection(boolean multipleSelection)
Specifies if multiple selection is allowed.- Parameters:
multipleSelection
- true if multiple selections are allowed.
-
setAllowDuplicates
public void setAllowDuplicates(boolean allowDuplicates)
Specifies whether duplicate entries are displayed or not.- Parameters:
allowDuplicates
- true if duplicate entries must be displayed.
-
setSize
public void setSize(int width, int height)
Sets the list size in unit of characters.- Parameters:
width
- the width of the list.height
- the height of the list.
-
setEmptyListMessage
public void setEmptyListMessage(String message)
Sets the message to be displayed if the list is empty.- Parameters:
message
- the message to be displayed.
-
setEmptySelectionMessage
public void setEmptySelectionMessage(String message)
Sets the message to be displayed if the selection is empty.- Parameters:
message
- the message to be displayed.
-
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.
-
setListElements
protected void setListElements(Object[] elements)
Sets the elements of the list (widget).- Parameters:
elements
- the elements of the list.
-
handleElementsChanged
protected void handleElementsChanged()
This method is called when the elements of the backing list are changed to refresh the standard dialog widgets.- Since:
- 3.8
-
setFilter
public void setFilter(String filter)
Sets the filter pattern.- Parameters:
filter
- the filter pattern.
-
getFilter
public String getFilter()
Returns the current filter pattern.- Returns:
- returns the current filter pattern or
null
if filter was not set.
-
getSelectionIndices
protected int[] getSelectionIndices()
Returns the indices referring the current selection. To be called within open().- Returns:
- returns the indices of the current selection.
-
getSelectionIndex
protected int getSelectionIndex()
Returns an index referring the first current selection. To be called within open().- Returns:
- returns the indices of the current selection.
-
setSelection
protected void setSelection(Object[] selection)
Sets the selection referenced by an array of elements. Empty or null array removes selection. To be called within open().- Parameters:
selection
- the indices of the selection.
-
getSelectedElements
protected Object[] getSelectedElements()
Returns an array of the currently selected elements. To be called within or after open().- Returns:
- returns an array of the currently selected elements.
-
getFoldedElements
public Object[] getFoldedElements(int index)
Returns all elements which are folded together to one entry in the list.- Parameters:
index
- the index selecting the entry in the list.- Returns:
- returns an array of elements folded together.
-
createMessageArea
protected Label createMessageArea(Composite composite)
Creates the message text widget and sets layout data.- Overrides:
createMessageArea
in classSelectionDialog
- Parameters:
composite
- the parent composite of the message area.- Returns:
- the message label
-
handleSelectionChanged
protected void handleSelectionChanged()
Handles a selection changed event. By default, the current selection is validated.
-
validateCurrentSelection
protected boolean validateCurrentSelection()
Validates the current selection and updates the status line accordingly.- Returns:
- boolean
true
if the current selection is valid.
-
cancelPressed
protected void cancelPressed()
Description copied from class:Dialog
Notifies that the cancel button of this dialog has been pressed.The
Dialog
implementation of this framework method sets this dialog's return code toWindow.CANCEL
and closes the dialog. Subclasses may override if desired.- Overrides:
cancelPressed
in classDialog
-
createFilteredList
protected FilteredList createFilteredList(Composite parent)
Creates a filtered list.- Parameters:
parent
- the parent composite.- Returns:
- returns the filtered list widget.
-
createFilterText
protected Text createFilterText(Composite parent)
Creates the filter text. Subclasses are allowed to override if they want the text to be created differently and must not call super in this case.- Parameters:
parent
- the parent to create the widget on- Returns:
- the created filter text widget.
-
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
andCANCEL
.- Overrides:
open
in classWindow
- Returns:
- the return code
- See Also:
Window.create()
-
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 callingcreateContents
), then initializes this window's shell bounds (by callinginitializeBounds
).- Overrides:
create
in classSelectionStatusDialog
-
handleEmptyList
protected void handleEmptyList()
Handles empty list by disabling widgets.
-
updateOkState
protected void updateOkState()
Update the enablement of the OK button based on whether or not there is a selection.
-
getValidator
protected ISelectionStatusValidator getValidator()
Gets the optional validator used to check if the selection is valid. The validator is invoked whenever the selection changes.- Returns:
- the validator to validate the selection, or
null
if no validator has been set. - Since:
- 3.5
-
-