Class CheckboxTableViewer
-
- All Implemented Interfaces:
ICheckable
,IInputProvider
,IInputSelectionProvider
,IPostSelectionProvider
,ISelectionProvider
public class CheckboxTableViewer extends TableViewer implements ICheckable
A concrete viewer based on an SWTTable
control with checkboxes on each node.This class supports setting an
ICheckStateProvider
to set the checkbox states. To see standard SWT behavior, view SWT Snippet274.This class is not intended to be subclassed outside the viewer framework. It is designed to be instantiated with a pre-existing SWT table control and configured with a domain-specific content provider, label provider, element filter (optional), and element sorter (optional).
- Restriction:
- This class is not intended to be subclassed by clients.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.eclipse.jface.viewers.StructuredViewer
StructuredViewer.ColorAndFontCollector, StructuredViewer.ColorAndFontCollectorWithProviders
-
-
Field Summary
-
Fields inherited from class org.eclipse.jface.viewers.Viewer
WIDGET_DATA_KEY
-
-
Constructor Summary
Constructors Constructor Description CheckboxTableViewer(Composite parent)
Deprecated.use newCheckList(Composite, int) or new CheckboxTableViewer(Table) instead (see below for details)CheckboxTableViewer(Composite parent, int style)
Deprecated.use newCheckList(Composite, int) or new CheckboxTableViewer(Table) instead (see above for details)CheckboxTableViewer(Table table)
Creates a table viewer on the given table control.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addCheckStateListener(ICheckStateListener listener)
Adds a listener for changes to the checked state of elements in this viewer.protected static Table
createTable(Composite parent, int style)
Creates a new table control with one column.protected void
doUpdateItem(Widget widget, Object element, boolean fullMap)
Copies the attributes of the given element into the given SWT item.boolean
getChecked(Object element)
Returns the checked state of the given element.Object[]
getCheckedElements()
Returns a list of elements corresponding to checked table items in this viewer.boolean
getGrayed(Object element)
Returns the grayed state of the given element.Object[]
getGrayedElements()
Returns a list of elements corresponding to grayed nodes in this viewer.void
handleSelect(SelectionEvent event)
Handles a select event from the widget.static CheckboxTableViewer
newCheckList(Composite parent, int style)
Creates a table viewer on a newly-created table control under the given parent.protected void
preservingSelection(Runnable updateCode)
Attempts to preserves the current selection across a run of the given code.void
removeCheckStateListener(ICheckStateListener listener)
Removes the given check state listener from this viewer.void
setAllChecked(boolean state)
Sets to the given value the checked state for all elements in this viewer.void
setAllGrayed(boolean state)
Sets to the given value the grayed state for all elements in this viewer.boolean
setChecked(Object element, boolean state)
Sets the checked state for the given element in this viewer.void
setCheckedElements(Object[] elements)
Sets which nodes are checked in this viewer.void
setCheckStateProvider(ICheckStateProvider checkStateProvider)
Sets theICheckStateProvider
for thisCheckboxTreeViewer
.boolean
setGrayed(Object element, boolean state)
Sets the grayed state for the given element in this viewer.void
setGrayedElements(Object... elements)
Sets which nodes are grayed in this viewer.-
Methods inherited from class org.eclipse.jface.viewers.TableViewer
createViewerEditor, doClear, doClearAll, doDeselectAll, doFindItem, doGetColumn, doGetColumnCount, doGetItem, doGetItemCount, doGetItems, doGetSelection, doGetSelectionIndices, doIndexOf, doRemove, doRemove, doRemoveAll, doResetItem, doSelect, doSetItemCount, doSetSelection, doSetSelection, doShowItem, doShowSelection, getControl, getItemAt, getTable, getViewerRowFromItem, internalCreateNewRowPart, refresh, refresh, remove, setSelection
-
Methods inherited from class org.eclipse.jface.viewers.AbstractTableViewer
add, add, assertContentProviderType, clear, doFindInputItem, getColumnViewerOwner, getElementAt, getLabelProvider, getRawChildren, getSelectionFromWidget, handleDispose, hookControl, indexForElement, inputChanged, insert, internalRefresh, internalRefresh, remove, replace, reveal, setContentProvider, setItemCount, setSelectionToWidget
-
Methods inherited from class org.eclipse.jface.viewers.ColumnViewer
applyEditorValue, cancelEditing, checkBusy, editElement, getCell, getCellEditors, getCellModifier, getColumnProperties, getColumnViewerEditor, getItem, getLabelProvider, getViewerRow, hookEditingSupport, isBusy, isCellEditorActive, refresh, refresh, setBusy, setCellEditors, setCellModifier, setColumnProperties, setColumnViewerEditor, setLabelProvider, triggerEditorActivationEvent, update
-
Methods inherited from class org.eclipse.jface.viewers.StructuredViewer
addDoubleClickListener, addDragSupport, addDropSupport, addFilter, addOpenListener, addPostSelectionChangedListener, assertElementsNotNull, associate, buildLabel, disassociate, equals, filter, findItem, findItems, fireDoubleClick, fireOpen, firePostSelectionChanged, getColorAndFontCollector, getComparator, getComparer, getFilteredChildren, getFilters, getRoot, getSelection, getSortedChildren, getSorter, getStructuredSelection, handleDoubleSelect, handleInvalidSelection, handleLabelProviderChanged, handleOpen, handlePostSelect, hasFilters, internalUpdate, mapElement, needsRefilter, refresh, refresh, refreshItem, removeDoubleClickListener, removeFilter, removeOpenListener, removePostSelectionChangedListener, resetFilters, setComparator, setComparer, setFilters, setInput, setSelectionToWidget, setSorter, setUseHashlookup, testFindItem, testFindItems, unmapAllElements, unmapElement, unmapElement, update, updateItem, updateSelection, usingElementMap
-
Methods inherited from class org.eclipse.jface.viewers.ContentViewer
getContentProvider, getInput, labelProviderChanged
-
Methods inherited from class org.eclipse.jface.viewers.Viewer
addHelpListener, addSelectionChangedListener, fireHelpRequested, fireSelectionChanged, getData, handleHelpRequest, removeHelpListener, removeSelectionChangedListener, scrollDown, scrollUp, setData, setSelection
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.eclipse.jface.viewers.ISelectionProvider
addSelectionChangedListener, removeSelectionChangedListener, setSelection
-
-
-
-
Constructor Detail
-
CheckboxTableViewer
@Deprecated public CheckboxTableViewer(Composite parent)
Deprecated.use newCheckList(Composite, int) or new CheckboxTableViewer(Table) instead (see below for details)Creates a table viewer on a newly-created table control under the given parent. The table control is created using the SWT style bits:SWT.CHECK
andSWT.BORDER
. The table has one column. The viewer has no input, no content provider, a default label provider, no sorter, and no filters.This is equivalent to calling
new CheckboxTableViewer(parent, SWT.BORDER)
. See that constructor for more details.- Parameters:
parent
- the parent control
-
CheckboxTableViewer
@Deprecated public CheckboxTableViewer(Composite parent, int style)
Deprecated.use newCheckList(Composite, int) or new CheckboxTableViewer(Table) instead (see above for details)Creates a table viewer on a newly-created table control under the given parent. The table control is created using the given SWT style bits, plus theSWT.CHECK
style bit. The table has one column. The viewer has no input, no content provider, a default label provider, no sorter, and no filters.This also adds a
TableColumn
for the single column, and sets aTableLayout
on the table which sizes the column to fill the table for its initial sizing, but does nothing on subsequent resizes.If the caller just needs to show a single column with no header, it is preferable to use the
newCheckList
factory method instead, since SWT properly handles the initial sizing and subsequent resizes in this case.If the caller adds its own columns, uses
Table.setHeadersVisible(true)
, or needs to handle dynamic resizing of the table, it is recommended to create theTable
itself, specifying theSWT.CHECK
style bit (along with any other style bits needed), and usenew CheckboxTableViewer(Table)
rather than this constructor.- Parameters:
parent
- the parent controlstyle
- SWT style bits
-
CheckboxTableViewer
public CheckboxTableViewer(Table table)
Creates a table viewer on the given table control. TheSWT.CHECK
style bit must be set on the given table control. The viewer has no input, no content provider, a default label provider, no sorter, and no filters.- Parameters:
table
- the table control
-
-
Method Detail
-
newCheckList
public static CheckboxTableViewer newCheckList(Composite parent, int style)
Creates a table viewer on a newly-created table control under the given parent. The table control is created using the given SWT style bits, plus theSWT.CHECK
style bit. The table shows its contents in a single column, with no header. The viewer has no input, no content provider, a default label provider, no sorter, and no filters.No
TableColumn
is added. SWT does not require aTableColumn
if showing only a single column with no header. SWT correctly handles the initial sizing and subsequent resizes in this case.- Parameters:
parent
- the parent controlstyle
- SWT style bits- Returns:
- CheckboxTableViewer
- Since:
- 2.0
-
addCheckStateListener
public void addCheckStateListener(ICheckStateListener listener)
Description copied from interface:ICheckable
Adds a listener for changes to the checked state of elements in this viewer. Has no effect if an identical listener is already registered.- Specified by:
addCheckStateListener
in interfaceICheckable
- Parameters:
listener
- a check state listener
-
setCheckStateProvider
public void setCheckStateProvider(ICheckStateProvider checkStateProvider)
Sets theICheckStateProvider
for thisCheckboxTreeViewer
. The check state provider will supply the logic for deciding whether the check box associated with each item should be checked, grayed or unchecked.- Parameters:
checkStateProvider
- The provider.- Since:
- 3.5
-
doUpdateItem
protected void doUpdateItem(Widget widget, Object element, boolean fullMap)
Description copied from class:StructuredViewer
Copies the attributes of the given element into the given SWT item. The element map is updated according to the value offullMap
. IffullMap
istrue
then the current mapping from element to widgets is removed and the new mapping is added. If full map isfalse
then only the new map gets installed. Installing only the new map is necessary in cases where only the order of elements changes but not the set of elements.This method is internal to the framework; subclassers should not call this method.
- Overrides:
doUpdateItem
in classAbstractTableViewer
- Parameters:
widget
- widget item to updateelement
- the element to representfullMap
-true
if mappings are added and removed, andfalse
if only the new map gets installed
-
createTable
protected static Table createTable(Composite parent, int style)
Creates a new table control with one column.- Parameters:
parent
- the parent controlstyle
- style bits- Returns:
- a new table control
-
getChecked
public boolean getChecked(Object element)
Description copied from interface:ICheckable
Returns the checked state of the given element.- Specified by:
getChecked
in interfaceICheckable
- Parameters:
element
- the element- Returns:
true
if the element is checked, andfalse
if not checked
-
getCheckedElements
public Object[] getCheckedElements()
Returns a list of elements corresponding to checked table items in this viewer.This method is typically used when preserving the interesting state of a viewer;
setCheckedElements
is used during the restore.- Returns:
- the array of checked elements
- See Also:
setCheckedElements(java.lang.Object[])
-
getGrayed
public boolean getGrayed(Object element)
Returns the grayed state of the given element.- Parameters:
element
- the element- Returns:
true
if the element is grayed, andfalse
if not grayed
-
getGrayedElements
public Object[] getGrayedElements()
Returns a list of elements corresponding to grayed nodes in this viewer.This method is typically used when preserving the interesting state of a viewer;
setGrayedElements
is used during the restore.- Returns:
- the array of grayed elements
- See Also:
setGrayedElements(java.lang.Object...)
-
handleSelect
public void handleSelect(SelectionEvent event)
Description copied from class:StructuredViewer
Handles a select event from the widget.This method is internal to the framework; subclassers should not call this method.
- Overrides:
handleSelect
in classStructuredViewer
- Parameters:
event
- the SWT selection event
-
preservingSelection
protected void preservingSelection(Runnable updateCode)
Description copied from class:StructuredViewer
Attempts to preserves the current selection across a run of the given code. This method should not preserve the selection if {link #getPreserveSelection()} returns false.The default implementation of this method:
- discovers the old selection (via
getSelection
) - runs the given runnable
- attempts to restore the old selection (using
setSelectionToWidget
- rediscovers the resulting selection (via
getSelection
) - calls
handleInvalidSelection
if the resulting selection is different from the old selection
- Overrides:
preservingSelection
in classStructuredViewer
- Parameters:
updateCode
- the code to run see #getPreserveSelection()
- discovers the old selection (via
-
removeCheckStateListener
public void removeCheckStateListener(ICheckStateListener listener)
Description copied from interface:ICheckable
Removes the given check state listener from this viewer. Has no effect if an identical listener is not registered.- Specified by:
removeCheckStateListener
in interfaceICheckable
- Parameters:
listener
- a check state listener
-
setAllChecked
public void setAllChecked(boolean state)
Sets to the given value the checked state for all elements in this viewer. Does not fire events to check state listeners.- Parameters:
state
-true
if the element should be checked, andfalse
if it should be unchecked
-
setAllGrayed
public void setAllGrayed(boolean state)
Sets to the given value the grayed state for all elements in this viewer.- Parameters:
state
-true
if the element should be grayed, andfalse
if it should be ungrayed
-
setChecked
public boolean setChecked(Object element, boolean state)
Description copied from interface:ICheckable
Sets the checked state for the given element in this viewer. Does not fire events to check state listeners.- Specified by:
setChecked
in interfaceICheckable
- Parameters:
element
- the elementstate
-true
if the item should be checked, andfalse
if it should be unchecked- Returns:
true
if the checked state could be set, andfalse
otherwise
-
setCheckedElements
public void setCheckedElements(Object[] elements)
Sets which nodes are checked in this viewer. The given list contains the elements that are to be checked; all other nodes are to be unchecked. Does not fire events to check state listeners.This method is typically used when restoring the interesting state of a viewer captured by an earlier call to
getCheckedElements
.- Parameters:
elements
- the list of checked elements (element type:Object
)- See Also:
getCheckedElements()
-
setGrayed
public boolean setGrayed(Object element, boolean state)
Sets the grayed state for the given element in this viewer.- Parameters:
element
- the elementstate
-true
if the item should be grayed, andfalse
if it should be ungrayed- Returns:
true
if the element is visible and the gray state could be set, andfalse
otherwise
-
setGrayedElements
public void setGrayedElements(Object... elements)
Sets which nodes are grayed in this viewer. The given list contains the elements that are to be grayed; all other nodes are to be ungrayed.This method is typically used when restoring the interesting state of a viewer captured by an earlier call to
getGrayedElements
.- Parameters:
elements
- the array of grayed elements- See Also:
getGrayedElements()
-
-