Community
Participate
Working Groups
Build 20020214 Selection speed in the java content outline is slow, especially when using the method-level editor. Open a java file with many methods, select a method in the outline, then hold down up & down arrows to scroll around to other methods. The speed seems to vary, but it is generally very slow to select. As an example, on my PIII 1.4 Ghz with 512MB RAM, it takes 10-15 seconds to scroll from the top to the bottom of the "Workspace" class. This class has about 85 methods. This makes keyboard-only navigation in the content outline impractical, so this is an accessibility concern.
In the single element view it is indeed an issue since it is more expensive to create a subdocument. A fix is to fire the selection event after a timeout only so that the editor only updates when the selection isn't in transition (see the explorer for an example). This isn't a specific problem of the editor and it will show up as a general problem when support single click to open. Moving to Platform UI for consideration.
Need to consider this for single-click support.
Usability not accessibility issue
postSelectionListener and openListener support were added to StructuredViewer. The first one is the selection changed with a delay when the selection is change by the keyboard. The second depends on the preference "Open Mode" (Double click, single click, etc) Moving back to JDT. The outline would have to be changed to use one of them. Just tested the outline and it seems that it is already using a delay.
Test JavaPluginImages (source file) and Workbenh (class file) and in both cases the editor updates after a certain delay. But in JavaWorkbenchAdapter the editor updates without an delay. Moving to Kai for clarification.
*** Bug 19281 has been marked as a duplicate of this bug. ***
yes, this seems to be no big deal anymore scrolling does not update the selection and it's quite fast
Changed the implementation to use PostSelectionChangedListeners. This is a bit tricky as IContentOutlinePage extends ISelectionProvider. What now happens is that if a client registers as selection changed listener on the Java editor outline page using IContentOutlinePage it gets registered as post selection changed listener rather than selection changed listener. This changes the contract. Nick, are there any plans to add an additional content outline page interface which would offically allow for using post selection changed listeners?
I don't see in the specs where it states -when- the selection changed notification is sent by the outline page. I think there is room for some flexibility here.
Then we go with the change. Build > 20021210.