Changing labels in a JFace TreeViewer on node expansion/collapse
I have a TreeViewer where some nodes represent folders, so I wanted to show the icon of an open folder when the node is expanded and a closed folder when it is collapsed. Sounds easy, I just need to add a tree listener (the code is in Scala, but Java equivalent should be easy to imagine): val tree = new TreeViewer(contents) tree.addTreeListener(folderIconFixingListener) private def folderIconFixingListener = new ITreeViewerListener { def treeCollapsed(event: TreeExpansionEvent) { tree.update(event.getElement, null) } def treeExpanded(event: TreeExpansionEvent) { tree.update(event.getElement,