try {
TreePath path = ((ITreeSelection) viewer.getSelection()).getPaths()[0];
- checkChildren(path, event.getChecked());
+ checkChildren(event.getElement(), event.getChecked());
checkParents(path.getParentPath());
}
finally {
checkParents(path.getParentPath());
}
+// /**
+// *
+// * @param path
+// * @param checked
+// */
+// private void checkChildren(final TreePath path, final boolean checked) {
+// TermContentProvider tcp = new TermContentProvider();
+//
+// if (path == null) {
+// return;
+// }
+// final Object element = path.getLastSegment();
+// if (element != null) {
+// this.viewer.setChecked(element, checked);
+// this.viewer.setGrayed(element, false);
+// int length = tcp.getChildren(element).length;
+// if(length>1){
+// this.viewer.expandToLevel(element, CheckboxTreeViewer.ALL_LEVELS);
+// this.viewer.setSubtreeChecked(element, checked);
+// }
+// }
+// }
+
/**
- *
- * @param path
- * @param checked
- */
- private void checkChildren(final TreePath path, final boolean checked) {
- TermContentProvider tcp = new TermContentProvider();
+ *
+ * @param path
+ * @param checked
+ */
+ private void checkChildren(final Object element, final boolean checked) {
+ TermContentProvider tcp = new TermContentProvider();
- if (path == null) {
- return;
- }
- final Object element = path.getLastSegment();
- if (element != null) {
- this.viewer.setChecked(element, checked);
- this.viewer.setGrayed(element, false);
- int length = tcp.getChildren(element).length;
- if(length>1){
- this.viewer.expandToLevel(element, CheckboxTreeViewer.ALL_LEVELS);
- this.viewer.setSubtreeChecked(element, checked);
- }
- }
- }
+ if (element == null) {
+ return;
+ }
+ // final Object element = path.getLastSegment();
+ if (element != null) {
+ this.viewer.setChecked(element, checked);
+ this.viewer.setGrayed(element, false);
+ int length = tcp.getChildren(element).length;
+ if(length>1){
+ this.viewer.expandToLevel(element, CheckboxTreeViewer.ALL_LEVELS);
+ this.viewer.setSubtreeChecked(element, checked);
+ }
+ }
+ }
@Override
public void dispose() {