The inspect hierarchy dialog functionality overlaps with Navigator and also with the new Go TO implementation functionality.
This task is to review the use cases and flow when the user wants to navigate to the type hierarchy and jump to the desired class in the code.
Let me describe my - unfortunately quite bad - experience with the Inspect hierarchy dialog. My task was to study quite a lot of classes from a few Spring libraries. So, I needed easily to review:
- Javadocs of classes, methods etc., and
- type hierarchy.
Unfortunately, none of these tasks is as easy as in Eclipse, for example. Try to open any Interface from any library (some jar file) - if one wants to see all descendant or implementations, Find Usages does not help here (it returns no results). If one opens the Hierarchy window, it is not docked so if one wants to see source code of any of its element, it is quite difficult (the dialog is not modal so one can double-click an element, "hide" the window, review the code, "open" the window, double-click other element, "hide" the window and so on).
So, the problems I see are:
- it is a standalone window (why? IMHO it should behave exactly like e.g. Projects, Navigator, Files, ...)
- it takes ages to get the type hierarchy (Eclipse is nearly instant, really)
I think inspecting type hierarchy and associated Javadoc is such a common use case, that we should try to make some improvements for 7.2, even if we don't have the complete solution for 7.2. As 7.2 is a performance release, it would be good to at least analyze and improve the performance of this feature.
Also, per http://wiki.netbeans.org/BugPriorityGuidelines and based on Tomas's experience I think this is really a (usability and performance) defect, not an enhancement. Maybe even a P2.
The inspect hierarchy dialog was a community contribution. It it was able to block EDT for minutes which is now at least rewritten to be out of EDT and cancelable. Even it's possible to speed it up (but it's not very easy due to the current design - it's O(exp(n))). I don't want to spent any time with it until there is a final UI spec. As far as I know the current inspect hierarchy dialog will be removed from the next version and replaced by something which is not even designed. So any work on it is useless as there is not much to be reused in it.
Maybe we don't even need it and it should be just a view in current Navigator or it should be a top component which can be docked somewhere. I don't know. But I don't think that such an UI change is doable in NB 7.2.
Ok, fair enough.
Fixed jet-main 393a703b5b49
Integrated into 'main-golden', will be available in build *201208211308* on http://bits.netbeans.org/dev/nightly/ (upload may still be in progress)
User: Tomas Zezula <email@example.com>
Log: #211784:UI review of the inspect hierarchy dialog