Bug 300993 - AbstractPartRenderer's API-ness is ambiguous
Summary: AbstractPartRenderer's API-ness is ambiguous
Status: RESOLVED WORKSFORME
Alias: None
Product: e4
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 1.0   Edit
Hardware: All All
: P3 normal (vote)
Target Milestone: ---   Edit
Assignee: Project Inbox CLA
QA Contact: Eric Moffatt CLA
URL:
Whiteboard: stalebug
Keywords: api
Depends on:
Blocks:
 
Reported: 2010-01-27 09:08 EST by Remy Suen CLA
Modified: 2019-06-05 07:31 EDT (History)
1 user (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Remy Suen CLA 2010-01-27 09:08:12 EST
AbstractPartRenderer seems to be a class that should be API but it's currently in an API package. It's also in a bundle that depends on SWT when it has no SWT dependencies itself. SWTPartRenderer, which _is_ API, extends it, but it does not override all of its methods which causes a leaking of internal methods.

APR should either be made API or SWTPR should reimplement all of its methods (even if blank) like how it is with Job and InternalJob so that the methods are documented properly and not exposed to subclasses because of a "leak".

While we're at it, it may be worth renaming these two classes because they're not exactly about rendering "parts".
Comment 1 Eric Moffatt CLA 2010-01-27 14:36:14 EST
First +1 for changing the name to not be 'part' specific.

This is a good pickup, I've been uncomfortable with the shape for quite a while.

My original intent was to have AbstractPartRender and PartRenderingEngine be completely generic with SWTPartRenderer and SWTRenderingEngine being their platform specific implementations. Somehow the PRE ended up in an 'swt' package so I've been polluting it with SWT code.

The theory was that the protocol in the PRE was generic enough that it was likely appropriate to implementations on other platforms and/or renderer sets.

I would quite happily move to an arrangement like this but haven't since it hasn't been blocking us.

The API for a rendering engine is defined in IPresentationEngine...
Comment 2 John Arthorne CLA 2010-06-18 16:49:05 EDT
I had thought of AbstractPartRenderer as just part of the implementation details for the SWT implementation of IPresentationEngine. 

The main usage outside of the actual rendering logic seems to be references to the constant use of the constant AbstractPartRenderer.OWNING_ME for obtaining the model element corresponding to a widget. It seems at least that constant would need to be exposed in an API for clients to get access to the model (post 1.0).
Comment 3 Eric Moffatt CLA 2010-06-21 09:50:48 EDT
Not a stopper for 4.0...

...but should still be fixed after release...;-).
Comment 4 Eclipse Genie CLA 2019-05-01 14:25:19 EDT
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.

--
The automated Eclipse Genie.
Comment 5 Lars Vogel CLA 2019-06-05 07:31:59 EDT
This is a mass change to close all e4 bugs marked with "stalebug" whiteboard.

If this bug is still valid, please reopen and remove the "stalebug" keyword.