private void updateTreeCheckboxesForItem(TreeItem item) { ICheckboxTreeContentProvider contentProvider = contentProvider(); while (item != null) { item.setChecked(contentProvider.isChecked(item.getData())); item = ((TreeViewerAccess) treeViewer).getNextItem(item, true); } }
public void updateTableCheckboxes() { ICheckboxTreeContentProvider contentProvider = contentProvider(); Table table = tableViewer.getTable(); int count = table.getItemCount(); for (int i = 0; i < count; i++) { TableItem item = table.getItem(i); item.setChecked(contentProvider.isChecked(item.getData())); } }
public void updateTreeCheckboxesForAncestor(Object element) { ICheckboxTreeContentProvider contentProvider = contentProvider(); if (element != null) { treeViewer.setChecked(element, contentProvider.isChecked(element)); } if (element == null) { TreeItem[] items = treeViewer.getTree().getItems(); for (int i = 0, count = items.length; i < count; i++) { updateTreeCheckboxesForItem(items[i]); } } else { TreeItem item = ((TreeViewerAccess) treeViewer).itemForElement(element); updateTreeCheckboxesForItem(item); } }
public void checkStateChanged(CheckStateChangedEvent event) { if (ignoreCheckStateChanges) { return; } ICheckboxTreeContentProvider contentProvider = contentProvider(); Object element = event.getElement(); // Update the model contentProvider.setCheckedState(element, event.getChecked()); // Update the UI ignoreCheckStateChanges = true; try { updateTreeCheckboxesForAncestor(element); updateTableCheckboxes(); } finally { ignoreCheckStateChanges = false; } }