# Interface ICheckable

All Known Implementing Classes:
  `CheckboxTableViewer, CheckboxTreeViewer, ContainerCheckedTreeViewer`

public interface ICheckable
Interface for objects that support elements with a checked state.

See Also:
  - `ICheckStateListener`
  - `CheckStateChangedEvent`

## Method Summary

Modifier and Type
Method
Description
`void`
`addCheckStateListener(ICheckStateListener listener)`
Adds a listener for changes to the checked state of elements in this viewer.
`boolean`
`getChecked(Object element)`
Returns the checked state of the given element.
`void`
`removeCheckStateListener(ICheckStateListener listener)`
Removes the given check state listener from this viewer.
`boolean`
`setChecked(Object element, boolean state)`
Sets the checked state for the given element in this viewer.

## Method Details

### addCheckStateListener

void addCheckStateListener(ICheckStateListener listener)
Adds a listener for changes to the checked state of elements in this viewer. Has no effect if an identical listener is already registered.

Parameters:
  `listener` - a check state listener

### getChecked

boolean getChecked(Object element)
Returns the checked state of the given element.

Parameters:
  `element` - the element
Returns:
  `true` if the element is checked, and `false` if not checked

### removeCheckStateListener

void removeCheckStateListener(ICheckStateListener listener)
Removes the given check state listener from this viewer. Has no effect if an identical listener is not registered.

Parameters:
  `listener` - a check state listener

### setChecked

boolean setChecked(Object element, boolean state)
Sets the checked state for the given element in this viewer. Does not fire events to check state listeners.

Parameters:
  `element` - the element
  `state` - `true` if the item should be checked, and `false` if it should be unchecked
Returns:
  `true` if the checked state could be set, and `false` otherwise