Community
Participate
Working Groups
Build ID: 20080221-1800 Steps To Reproduce: Use the following model with a JFace TreeViewer: A B C 1. Make row B a child of row A: A + B C 2. Now remove row B and add under row A: A B C 3. When you call getNeighbor(ViewerRow.BELOW, false) on the ViewerRow corresponding to item A, it returns null, even though it should return a ViewerRow corresponding to item C. This is because when it checks if the tree item is expanded, it returns true. The tree item has no children however, so it should not be expanded. As a result, all of our NavigationStrategy stuff is broken.
> 2. Now remove row B and add under row A: > > A > B > C > > > 3. When you call getNeighbor(ViewerRow.BELOW, false) on the ViewerRow > corresponding to item A, it returns null, even though it should return a > ViewerRow corresponding to item C. This is because when it checks if the tree Shouldn't it return B? > item is expanded, it returns true. The tree item has no children however, so > it should not be expanded. > Isn't then TreeItem the problem? It should not return true when it has no children, right? We could work around by also checking the number of TreeItems beside only the expansion state. > As a result, all of our NavigationStrategy stuff is broken. > Can you modify http://wiki.eclipse.org/JFaceSnippets#Snippet026TreeViewerTabEditing to show the problem?
Created attachment 113798 [details] Patch to check if there are no children Evan can you please fetch JFace from HEAD, apply this patch and see if the bug is fixed then?
multi change because of intenion of stepping back as platform-ui committer
This bug hasn't had any activity in quite some time. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. If you have further information on the current state of the bug, please add it. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant.