I have a problem. I have a JFace TreeViewer, with an ITreeContentProvider.
The method the input for the treeviewer is treeitem defined by a backend.
The tree item himself has an ID.
In the getElements() method from the content provider the getChildren() is called.
The getChildren() method get all children from the backend depending on the ID of the input tree item and returns a list of tree items.
The getParent() method returns null.
The hasChildren() method returns getChildren(treeitem).length > 0.
The problem here is that I only get all children of the initial tree item.
This happens because I call the getChildren() method in the getElements() method.
Is there a solution to get the tree item himself as visible root item into the tree?
I don't really understand, what you means but I can see, that you must also implement the method getParent(), else the treeviewer call back the method getParent() for every children and it returns null for all. That means, the treeviewer show only the children => in this case all children are like root elements.
1- you must first have a treeItem, we give it the name "rootItem": the root element. It's not visible in the treeviewer
2- add your previous treeItem to the "rootItem" as child.
3- then add the previous children to your treeItem
4- give the input to the treeviewer the "rooItem"