Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 319462 - EMenuService should be in a platform neutral bundle
Summary: EMenuService should be in a platform neutral bundle
Status: VERIFIED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.4   Edit
Hardware: PC All
: P3 normal (vote)
Target Milestone: 4.4 M6   Edit
Assignee: Paul Webster CLA
QA Contact:
URL:
Whiteboard:
Keywords: api
: 412196 (view as bug list)
Depends on:
Blocks:
 
Reported: 2010-07-10 11:38 EDT by Thomas Schindl CLA
Modified: 2014-03-04 10:52 EST (History)
7 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Thomas Schindl CLA 2010-07-10 11:38:26 EDT
Currently this service is found in org.eclipse.e4.ui.workbench.swt but i think it could be easily moved to org.eclipse.e4.ui.workbench or even better we create a org.eclipse.e4.ui[.workbench].service holding our ui-services.

Candidates for the new bundle are:
* EMenuService
* EModelService
* EPartService
* ESelectionService
Comment 1 Thomas Schindl CLA 2010-07-10 18:56:54 EDT
the bundle "org.eclipse.e4.ui.services" already exits
Comment 2 Paul Webster CLA 2010-07-12 07:54:00 EDT
For EMenuService it is provisional API that will probably change, once we take into account even one new platform.  EMenuService should probably be dealt with in 4.1

PW
Comment 3 Dani Megert CLA 2013-06-05 10:25:31 EDT
Removing outdated target milestone.
Comment 4 Thomas Schindl CLA 2014-02-07 02:20:46 EST
Can I get this back on the plan for 4.3 - the service is still marked as @noimplement/@noreference - I'd like to move it to to ui.services next to EContextMenu!
Comment 5 Lars Vogel CLA 2014-02-07 04:01:16 EST
(In reply to Thomas Schindl from comment #4)
> Can I get this back on the plan for 4.3 - the service is still marked as
> @noimplement/@noreference - I'd like to move it to to ui.services next to
> EContextMenu!

I don't think we have EContextMenu, maybe you mean EContextService? +1 for the move from me.
Comment 6 Thomas Schindl CLA 2014-02-07 04:47:49 EST
EMenuService - is what I meant to be moved!
Comment 7 Lars Vogel CLA 2014-02-07 04:49:34 EST
(In reply to Thomas Schindl from comment #6)
> EMenuService - is what I meant to be moved!

Of course. Just the place to move to was unclear with EContextMenu.
Comment 8 Paul Webster CLA 2014-02-09 23:55:51 EST
(In reply to Thomas Schindl from comment #6)
> EMenuService - is what I meant to be moved!

The only trouble I see with that is that it depends on MPopupMenu, that would add dependency on the model to the runtime services.

PW
Comment 9 Thomas Schindl CLA 2014-02-10 01:20:46 EST
I think the returning of MPopupMenu is not necessary, a boolean would do the Job as well
Comment 10 Thomas Schindl CLA 2014-02-10 02:47:21 EST
https://git.eclipse.org/r/21727
Comment 11 Paul Webster CLA 2014-02-10 09:54:02 EST
(In reply to Thomas Schindl from comment #9)
> I think the returning of MPopupMenu is not necessary, a boolean would do the
> Job as well

Strange, isn't it used? I'd like to examine it further.  One potential solution would be to return Object (and call it a token).  I'm not sure how practical that is.

Plus if we're going to move it and generalize it, we need to update the doc to specify what it's supposed to do.

PW
Comment 12 Thomas Schindl CLA 2014-02-10 10:00:09 EST
I don't see why this should useful - i can always find the popup menu by querying the model - I've updated the JavaDoc in my gerrit review to state what the boolean value means.
Comment 13 Paul Webster CLA 2014-02-13 14:15:39 EST
Released as http://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=9d0bb5d66970c53ec82e9ad62472dfcac9c33897 and http://git.eclipse.org/c/platform/eclipse.platform.ui.git/commit/?id=978e108448ec5d5c43f42e6dc467b1a55b48cca0

Tom, please compose a message and send it to e4-dev (and probably copy platform-ui-dev) informing people this has changed and where it went to.  Even though it was technically not API.

PW
Comment 14 Lars Vogel CLA 2014-02-13 16:14:51 EST
Is this now API? Then we should also close Bug 412196.
Comment 15 Wim Jongman CLA 2014-02-13 16:17:31 EST
Am I correct assuming that everyone using the EMenuService:

@PostConstruct
public void postConstruct(Composite parent, EMenuService menuService) {

now has a broken build?
Comment 16 Paul Webster CLA 2014-02-13 16:19:38 EST
(In reply to Wim Jongman from comment #15)
> Am I correct assuming that everyone using the EMenuService:
> 
> @PostConstruct
> public void postConstruct(Composite parent, EMenuService menuService) {
> 
> now has a broken build?

Yes, indeed.  That's why we need a message to e4-dev.

PW
Comment 17 Lars Vogel CLA 2014-02-28 07:48:35 EST
*** Bug 412196 has been marked as a duplicate of this bug. ***
Comment 18 Paul Webster CLA 2014-03-04 10:52:02 EST
In 4.4.0.I20140303-2000