Bug 258907 - [Structure Compare] StructureDiffViewer should allow subclassing
Summary: [Structure Compare] StructureDiffViewer should allow subclassing
Status: ASSIGNED
Alias: None
Product: JDT
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 3.5   Edit
Hardware: PC Windows XP
: P3 enhancement with 1 vote (vote)
Target Milestone: ---   Edit
Assignee: JDT-UI-Inbox CLA
QA Contact:
URL:
Whiteboard: fix candidate
Keywords: api, investigate
Depends on:
Blocks:
 
Reported: 2008-12-16 04:52 EST by Dani Megert CLA
Modified: 2011-03-07 08:21 EST (History)
6 users (show)

See Also:


Attachments
Fix v01 (4.76 KB, patch)
2009-01-29 10:56 EST, Tomasz Zarna CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dani Megert CLA 2008-12-16 04:52:15 EST
3.5 M4.

In order to allow clients to contribute a structure diff viewer Compare should allow to extend StructureDiffViewer. Currently JDT and PDE already illegally do this.

Rewriting or copying what's in StructureDiffViewer is not a good option.
Comment 1 Dani Megert CLA 2009-01-29 09:26:26 EST
Can you target this for M6 (API freeze)?
Comment 2 Tomasz Zarna CLA 2009-01-29 10:56:03 EST
Created attachment 124157 [details]
Fix v01
Comment 3 Tomasz Zarna CLA 2009-03-10 11:42:39 EDT
The latest news: PDE no longer illegally extends StructureDiffViewer, see bug 267878.
Comment 4 Pawel Pogorzelski CLA 2010-04-19 07:36:01 EDT
Moving to 3.7 as we missed API freeze.
Comment 5 Dani Megert CLA 2011-03-01 02:58:59 EST
Ping! I guess it's getting late again? ;-)
Comment 6 Szymon Brandys CLA 2011-03-07 06:27:26 EST
Couldn't JDT apply a similar fix as PDE did? I wonder what the limitations are in the current API.
Comment 7 Markus Keller CLA 2011-03-07 08:21:37 EST
I talked to Szymon: StructureDiffViewer extends DiffTreeViewer, which illegally extends TreeViewer. As long as TreeViewer is @noextend (bug 232268), it would be problematic to make StructureDiffViewer subclassable.

I quickly looked at JavaStructureDiffViewer, and some of the things we do there could also be written differently, so that we just configure a plain StructureDiffViewer instance from the outside.

AFAIK, we haven't tried to get rid of JavaStructureDiffViewer yet, and we currently don't know what APIs would be missing to achieve this. I'm taking this bug back to JDT/UI for now.