Repository navigation
Move generic breadcrumb implementation from JDT to JFace #4495 - #4496
LukasHackl2 wants to merge 1 commit into
Conversation
Adapt the Java editor breadcrumb to use the generic JFace breadcrumb implementation. Preserve JDT-specific behavior through extension hooks for ProblemTreeViewer, Java element openability and persistent dialog settings. Remove the obsolete JDT breadcrumb implementation and messages resources, and bump the org.eclipse.jdt.ui bundle version. Issue: eclipse-platform/eclipse.platform.ui#4495 Depends on: eclipse-platform/eclipse.platform.ui#4496 Assisted-by: OpenAI GPT-5.6 Sol Signed-off-by: LukasHackl2 <lukas.h95@hotmail.de>
7dcd2a2 to
8892f27
Compare
Adapt the Java editor breadcrumb to use the generic JFace breadcrumb implementation. Preserve JDT-specific behavior through extension hooks for ProblemTreeViewer, Java element openability and persistent dialog settings. Remove the obsolete JDT breadcrumb implementation and messages resources, and bump the org.eclipse.jdt.ui bundle version. Issue: eclipse-platform/eclipse.platform.ui#4495 Depends on: eclipse-platform/eclipse.platform.ui#4496 Assisted-by: OpenAI GPT-5.6 Sol Signed-off-by: LukasHackl2 <lukas.h95@hotmail.de>
merks
left a comment
There was a problem hiding this comment.
I think all the @since versions need attention.
…form#4495 Move the reusable breadcrumb viewer implementation from JDT to org.eclipse.jface.viewers. Keep JDT-specific behavior configurable through extension hooks for drop-down viewers, element openability and dialog settings. Issue: eclipse-platform#4495 Corresponding JDT PR: eclipse-jdt/eclipse.jdt.ui#3265 Assisted-by: OpenAI GPT-5.6 Sol Signed-off-by: LukasHackl2 <lukas.h95@hotmail.de>
8892f27 to
981322e
Compare
|
Thanks. org.eclipse.jface is already at 3.41.0.qualifier on the current PR base, so I kept BreadcrumbViewer at |
There was a problem hiding this comment.
org.eclipse.debug.ui also has a class called "BreadcrumbItem". Looks like we already have a copy of the JDT think there.
There was a problem hiding this comment.
@LukasHackl2 : could you please check if you also can provide platform PR and replace classes added in eclipse-platform/eclipse.platform@56f6a79 to use new API?
There was a problem hiding this comment.
I can check this. I see that the Debug UI breadcrumb implementation has diverged somewhat from the JDT version, in particular around the TreePath-based content/label providers and its custom drop-down handling. I’ll check what is needed to adapt it to the new JFace API and provide a corresponding Platform PR if feasible.
merks
left a comment
There was a problem hiding this comment.
It looks good to me.
I assume this is literally just copied over from JDT with only package name changes so there is no need to review all the code in detail because it has been fully functional for a very long time, right?
|
Yes, the implementation is based on the long-standing JDT breadcrumb code. It is not a pure package-name copy though: I removed the JDT-specific dependencies and added extension points needed to preserve the JDT-specific behavior, such as the custom drop-down viewer, element openability and dialog settings. The core breadcrumb viewer/item behavior itself is otherwise retained. |
|
I'm really personally all for merging this as soon as possible. I assume the plan is immediate follow up rework the two other copies to valid the utility of what's in JFace. (I think I already saw such a comment about JDT, but I get so many notifications is hard to keep track.) Are you guys okay with merging this soonish so that the downstream work can proceed? |
I would wait the check offered by @LukasHackl2 whether the new API copied from JDT fits the second platform debug implementation mentioned above. If it fits and no extra API change needed for that, I'm OK. Otherwise we will need to touch JDT again. |

Move the generic breadcrumb viewer implementation from JDT to JFace so it can be reused by other clients.
The change introduces the breadcrumb viewer classes in
org.eclipse.jface.viewersand keeps JDT-specific behavior configurable through extension hooks.In particular, clients can customize:
TreeViewerThis allows JDT to keep using
ProblemTreeViewer, preserve Java-specific openability semantics and persist the drop-down height while keeping JFace independent of JDT.Issue:
#4495
Corresponding JDT pull request:
eclipse-jdt/eclipse.jdt.ui#3265