public class CheckboxTreeViewer extends TreeViewer implements ICheckable
Tree
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 tree control and configured with a domain-specific content provider, label provider, element filter (optional), and element sorter (optional).
StructuredViewer.ColorAndFontCollector, StructuredViewer.ColorAndFontCollectorWithProviders
ALL_LEVELS
WIDGET_DATA_KEY
Constructor and Description |
---|
CheckboxTreeViewer(Composite parent)
Creates a tree viewer on a newly-created tree control under the given parent.
|
CheckboxTreeViewer(Composite parent,
int style)
Creates a tree viewer on a newly-created tree control under the given parent.
|
CheckboxTreeViewer(Tree tree)
Creates a tree viewer on the given tree 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 void |
doUpdateItem(Item item,
Object element)
Copies the attributes of the given element into the given SWT item.
|
protected void |
fireCheckStateChanged(CheckStateChangedEvent event)
Notifies any check state listeners that the check state of an element has changed.
|
boolean |
getChecked(Object element)
Returns the checked state of the given element.
|
Object[] |
getCheckedElements()
Returns a list of checked elements in this viewer's tree,
including currently hidden ones that are marked as
checked but are under a collapsed ancestor.
|
boolean |
getGrayed(Object element)
Returns the grayed state of the given element.
|
Object[] |
getGrayedElements()
Returns a list of grayed elements in this viewer's tree,
including currently hidden ones that are marked as
grayed but are under a collapsed ancestor.
|
protected void |
handleDoubleSelect(SelectionEvent event)
Handles a double-click select event from the widget.
|
protected void |
handleSelect(SelectionEvent event)
Handles a select event from the widget.
|
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)
Deprecated.
as this method only checks or unchecks visible items
is is recommended that
setSubtreeChecked(Object, boolean)
is used instead. |
boolean |
setChecked(Object element,
boolean state)
Sets the checked state for the given element in this viewer.
|
protected void |
setCheckedChildren(Item item,
boolean state)
Sets the checked state for the children of the given item.
|
void |
setCheckedElements(Object[] elements)
Sets which elements are checked in this viewer's tree.
|
void |
setCheckStateProvider(ICheckStateProvider checkStateProvider)
Sets the
ICheckStateProvider for this CheckboxTreeViewer . |
boolean |
setGrayChecked(Object element,
boolean state)
Check and gray the selection rather than calling both
setGrayed and setChecked as an optimization.
|
boolean |
setGrayed(Object element,
boolean state)
Sets the grayed state for the given element in this viewer.
|
void |
setGrayedElements(Object[] elements)
Sets which elements are grayed in this viewer's tree.
|
boolean |
setParentsGrayed(Object element,
boolean state)
Sets the grayed state for the given element and its parents
in this viewer.
|
boolean |
setSubtreeChecked(Object element,
boolean state)
Sets the checked state for the given element and its visible
children in this viewer.
|
addTreeListener, assertContentProviderType, createViewerEditor, disassociate, doGetColumnCount, editElement, getChild, getChildren, getColumnViewerOwner, getControl, getExpanded, getItemAt, getItemCount, getItemCount, getItems, getLabelProvider, getParentElement, getParentItem, getRawChildren, getSelection, getTree, getViewerRowFromItem, handleTreeCollapse, handleTreeExpand, hookControl, internalAdd, internalInitializeTree, internalRefreshStruct, isExpandable, mapElement, newItem, remove, removeAll, replace, setChildCount, setContentProvider, setExpanded, setHasChildren, setSelection, setSelection, showItem, updatePlus
add, add, addSelectionListener, addTreeListener, associate, buildLabel, collapseAll, collapseToLevel, createChildren, createTreeItem, doFindInputItem, doFindItem, doUpdateItem, expandAll, expandToLevel, expandToLevel, fireTreeCollapsed, fireTreeExpanded, getAutoExpandLevel, getChildren, getExpandedElements, getExpandedState, getExpandedTreePaths, getNextItem, getPreviousItem, getSelection, getSelectionFromWidget, getSortedChildren, getStructuredSelection, getTreePathFromItem, getVisibleExpandedElements, indexForElement, inputChanged, insert, internalCollapseToLevel, internalExpand, internalExpandToLevel, internalFindItems, internalGetWidgetToSelect, internalIsInputOrEmptyPath, internalRefresh, internalRefresh, internalRefresh, internalRemove, internalRemove, isSameSelection, labelProviderChanged, remove, remove, remove, removeTreeListener, reveal, scrollDown, scrollUp, setAutoExpandLevel, setExpandedElements, setExpandedState, setExpandedTreePaths, setExpandPreCheckFilters, setSelectionToWidget, setSelectionToWidget, updateChildren
applyEditorValue, cancelEditing, checkBusy, getCell, getCellEditors, getCellModifier, getColumnProperties, getColumnViewerEditor, getItem, getLabelProvider, getViewerRow, handleDispose, hookEditingSupport, isBusy, isCellEditorActive, refresh, refresh, setBusy, setCellEditors, setCellModifier, setColumnProperties, setColumnViewerEditor, setLabelProvider, triggerEditorActivationEvent, update
addDoubleClickListener, addDragSupport, addDropSupport, addFilter, addOpenListener, addPostSelectionChangedListener, assertElementsNotNull, equals, filter, findItem, findItems, fireDoubleClick, fireOpen, firePostSelectionChanged, getColorAndFontCollector, getComparator, getComparer, getFilteredChildren, getFilters, getRoot, getSorter, handleInvalidSelection, handleLabelProviderChanged, handleOpen, handlePostSelect, hasFilters, internalUpdate, needsRefilter, refresh, refresh, refreshItem, removeDoubleClickListener, removeFilter, removeOpenListener, removePostSelectionChangedListener, resetFilters, setComparator, setComparer, setFilters, setInput, setSorter, setUseHashlookup, testFindItem, testFindItems, unmapAllElements, unmapElement, unmapElement, update, updateItem, updateSelection, usingElementMap
getContentProvider, getInput
addHelpListener, addSelectionChangedListener, fireHelpRequested, fireSelectionChanged, getData, handleHelpRequest, removeHelpListener, removeSelectionChangedListener, setData, setSelection
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addSelectionChangedListener, removeSelectionChangedListener, setSelection
public CheckboxTreeViewer(Composite parent)
CHECK
and BORDER
.
The viewer has no input, no content provider, a default label provider,
no sorter, and no filters.parent
- the parent controlpublic CheckboxTreeViewer(Composite parent, int style)
CHECK
style bit.
The viewer has no input, no content provider, a default label provider,
no sorter, and no filters.parent
- the parent controlstyle
- the SWT style bitspublic CheckboxTreeViewer(Tree tree)
SWT.CHECK
style bit must be set on the given tree control.
The viewer has no input, no content provider, a default label provider,
no sorter, and no filters.tree
- the tree controlpublic 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(Item item, Object element)
AbstractTreeViewer
doUpdateItem
in class AbstractTreeViewer
item
- the SWT itemelement
- the elementprotected void fireCheckStateChanged(CheckStateChangedEvent event)
event
- a check state changed eventICheckStateListener.checkStateChanged(org.eclipse.jface.viewers.CheckStateChangedEvent)
public 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[])
protected void handleDoubleSelect(SelectionEvent event)
StructuredViewer
This method is internal to the framework; subclassers should not call this method.
handleDoubleSelect
in class AbstractTreeViewer
event
- the SWT selection eventprotected 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 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
otherwiseprotected void setCheckedChildren(Item item, boolean state)
item
- the itemstate
- true
if the item should be checked, and
false
if it should be uncheckedpublic 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 array of checked elementsgetCheckedElements()
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 gray state could be set,
and false
otherwisepublic boolean setGrayChecked(Object element, boolean state)
element
- the item being checkedstate
- a boolean indicating selection or deselectionpublic 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()
public boolean setParentsGrayed(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
otherwisesetGrayed(java.lang.Object, boolean)
public boolean setSubtreeChecked(Object element, boolean state)
expandToLevel
for the element.
Does not fire events to check state listeners.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
otherwise@Deprecated public void setAllChecked(boolean state)
setSubtreeChecked(Object, boolean)
is used instead.expandToLevel
for the element.state
- true
if the element should be checked,
and false
if it should be uncheckedsetSubtreeChecked(Object, boolean)
Copyright (c) 2000, 2015 Eclipse Contributors and others. All rights reserved.Guidelines for using Eclipse APIs.