public class CheckboxTableViewer extends TableViewer implements ICheckable
Table
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).
StructuredViewer.ColorAndFontCollector, StructuredViewer.ColorAndFontCollectorWithProviders
WIDGET_DATA_KEY
Constructor and 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.
|
Modifier and Type | Method and 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 the
ICheckStateProvider for this CheckboxTreeViewer . |
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.
|
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
add, add, assertContentProviderType, clear, doFindInputItem, getColumnViewerOwner, getElementAt, getLabelProvider, getRawChildren, getSelectionFromWidget, handleDispose, hookControl, indexForElement, inputChanged, insert, internalRefresh, internalRefresh, remove, replace, reveal, setContentProvider, setItemCount, setSelectionToWidget
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
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
getContentProvider, getInput, labelProviderChanged
addHelpListener, addSelectionChangedListener, fireHelpRequested, fireSelectionChanged, getData, handleHelpRequest, removeHelpListener, removeSelectionChangedListener, scrollDown, scrollUp, setData, setSelection
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addSelectionChangedListener, removeSelectionChangedListener, setSelection
@Deprecated public CheckboxTableViewer(Composite parent)
SWT.CHECK
and SWT.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.
parent
- the parent control@Deprecated public CheckboxTableViewer(Composite parent, int style)
SWT.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 a TableLayout
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 the Table
itself, specifying the SWT.CHECK
style bit
(along with any other style bits needed), and use new CheckboxTableViewer(Table)
rather than this constructor.
parent
- the parent controlstyle
- SWT style bitspublic CheckboxTableViewer(Table table)
SWT.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.table
- the table controlpublic static CheckboxTableViewer newCheckList(Composite parent, int style)
SWT.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 a
TableColumn
if showing only a single column with no header.
SWT correctly handles the initial sizing and subsequent resizes in this case.
parent
- the parent controlstyle
- SWT style bitspublic void addCheckStateListener(ICheckStateListener listener)
ICheckable
addCheckStateListener
in interface ICheckable
listener
- a check state listenerpublic void setCheckStateProvider(ICheckStateProvider checkStateProvider)
ICheckStateProvider
for this CheckboxTreeViewer
.
The check state provider will supply the logic for deciding whether the
check box associated with each item should be checked, grayed or
unchecked.checkStateProvider
- The provider.protected void doUpdateItem(Widget widget, Object element, boolean fullMap)
StructuredViewer
fullMap
.
If fullMap
is true
then the current mapping
from element to widgets is removed and the new mapping is added. If
full map is false
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.
doUpdateItem
in class AbstractTableViewer
element
- elementfullMap
- true
if mappings are added and removed, and
false
if only the new map gets installedprotected static Table createTable(Composite parent, int style)
parent
- the parent controlstyle
- style bitspublic boolean getChecked(Object element)
ICheckable
getChecked
in interface ICheckable
element
- the elementtrue
if the element is checked,
and false
if not checkedpublic Object[] getCheckedElements()
This method is typically used when preserving the interesting
state of a viewer; setCheckedElements
is used during the restore.
setCheckedElements(java.lang.Object[])
public boolean getGrayed(Object element)
element
- the elementtrue
if the element is grayed,
and false
if not grayedpublic Object[] getGrayedElements()
This method is typically used when preserving the interesting
state of a viewer; setGrayedElements
is used during the restore.
setGrayedElements(java.lang.Object[])
public void handleSelect(SelectionEvent event)
StructuredViewer
This method is internal to the framework; subclassers should not call this method.
handleSelect
in class StructuredViewer
event
- the SWT selection eventprotected void preservingSelection(Runnable updateCode)
StructuredViewer
The default implementation of this method:
getSelection
)setSelectionToWidget
getSelection
)handleInvalidSelection
if the resulting selection
is different from the old selectionpreservingSelection
in class StructuredViewer
updateCode
- the code to run
see #getPreserveSelection()public void removeCheckStateListener(ICheckStateListener listener)
ICheckable
removeCheckStateListener
in interface ICheckable
listener
- a check state listenerpublic void setAllChecked(boolean state)
state
- true
if the element should be checked,
and false
if it should be uncheckedpublic void setAllGrayed(boolean state)
state
- true
if the element should be grayed,
and false
if it should be ungrayedpublic boolean setChecked(Object element, boolean state)
ICheckable
setChecked
in interface ICheckable
element
- the elementstate
- true
if the item should be checked,
and false
if it should be uncheckedtrue
if the checked state could be set,
and false
otherwisepublic void setCheckedElements(Object[] elements)
This method is typically used when restoring the interesting
state of a viewer captured by an earlier call to getCheckedElements
.
elements
- the list of checked elements (element type: Object
)getCheckedElements()
public boolean setGrayed(Object element, boolean state)
element
- the elementstate
- true
if the item should be grayed,
and false
if it should be ungrayedtrue
if the element is visible and the gray
state could be set, and false
otherwisepublic void setGrayedElements(Object[] elements)
This method is typically used when restoring the interesting
state of a viewer captured by an earlier call to getGrayedElements
.
elements
- the array of grayed elementsgetGrayedElements()
Copyright (c) 2000, 2018 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.