# CheckBoxTreeViewer



## Guest (25. Aug 2008)

Hallo zusammen....

Ich habe ein Problem mit dem CheckBoxTreeViewer. Ich würde gerne die Checkboxen für bestimmte Elemnete ausblenden, bzw, wenn das nicht geht, wenigstens disablen. Über den Label Provider habe ich nichts gefunden...

Ich habe versucvht die Checkboxen auf die se Weise selbst zu zeichnen:


```
TreeItem[] items = tree.getItems();

		TreeItem rootItem = items[0];

		// get all the childs of the root element into this list
		ArrayList<TreeItem> itemList = getAllItems(rootItem);

		for (TreeItem treeItem : itemList) {

			if (treeItem.getData() instanceof Model) {

				TreeEditor editor = new TreeEditor(tree);
				Button button = new Button(tree, SWT.CHECK | SWT.FLAT);
				button.pack();
				editor.minimumWidth = button.getSize().x;
				editor.horizontalAlignment = SWT.LEFT;
				editor.setEditor(button, treeItem, 1);

				editor = new TreeEditor(tree);
				Text text = new Text(tree, SWT.NONE);
				text.setText(treeItem.getText());
				editor.grabHorizontal = true;
				editor.setEditor(text, treeItem, 2);
				
			}
		}

		tree.redraw()
```

... allerdings zerhaut er mir immer meinen Baum dabei. Was mache ich falsch? und, gibt es noch eine andere Möglichkeit?


----------



## dzim (28. Aug 2008)

Ha - das Problem hat ich auch mal - ich glaub der Lars Vogel hat mir da den entscheidenen Hinweis gegeben:
Nutze den Viewer _org.eclipse.ui.dialogs.ContainerCheckedTreeViewer_!
Warum der nun bei den Dialogen rumhockt und nicht bei den anderen Viewern... Wer weiß, aber der macht genau das.
...und vergiß das mit den TreeItems!
Im Zweifelsfall musst du di Nodes, die nicht völlig den CheckState bekommen sollen halt per Hand auf grayed setzen (ich bin mir nicht sicher, aber ich denke dass das die Funktionalität ist, aber nagel mich nicht daran fest - Fakt ist: Es geht!)


----------



## hagbard23 (29. Aug 2008)

ne den hab ich ja....aber der hat nur ne simple logik ür den grayed state implementiert. Nun möchte ich ihm erzählen, das er für manche nodes gar keine checkbox braucht! und das geht nicht.


----------



## hagbard23 (29. Aug 2008)

siehe:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=203943


----------

