Bug 373030 - [breakpoints] Move BreakpointTypesContribution to a public package
Summary: [breakpoints] Move BreakpointTypesContribution to a public package
Status: RESOLVED FIXED
Alias: None
Product: Platform
Classification: Eclipse Project
Component: Debug (show other bugs)
Version: 3.8   Edit
Hardware: PC Linux
: P3 normal (vote)
Target Milestone: 3.8 M6   Edit
Assignee: Pawel Piech CLA
QA Contact:
URL:
Whiteboard:
Keywords: api, noteworthy
Depends on:
Blocks: 373040
  Show dependency tree
 
Reported: 2012-03-01 18:53 EST by Pawel Piech CLA
Modified: 2012-03-07 12:25 EST (History)
1 user (show)

See Also:
Michael_Rennie: review+


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pawel Piech CLA 2012-03-01 18:53:44 EST
The Run->Breakpoint Types menu is populated using a dynamic contribution implemented by org.eclipse.debug.internal.ui.actions.breakpoints.BreakpointTypesContribution.  We also have a public RulerBreakpointTypesActionDelegate.  Unfortunately bug 330609 breaks the latter in e4.  

I prpose to deprecate the old-style action delegate and make the dynamic contribution public.  The dynamic contribution can be used in an editor ruler popup menu just as well as anywhere else.
Comment 1 Pawel Piech CLA 2012-03-02 00:55:49 EST
I committed the change.  Mike please let me know if you disagree with the api addition.

http://git.eclipse.org/c/platform/eclipse.platform.debug.git/commit/?id=3c08aeeb1e0759e8fc8bca29a20e7d5ae79d504e
Comment 2 Michael Rennie CLA 2012-03-02 18:26:25 EST
Didn't test it yet, but you should go back and remove the two system.out.println's from the fix :)
Comment 3 Pawel Piech CLA 2012-03-05 11:52:58 EST
(In reply to comment #2)
> Didn't test it yet, but you should go back and remove the two
> system.out.println's from the fix :)

Sorry about that, I committed a cleanup change.  

In gtk, if I set a breakpoint in menu creation code, my whole X session freezes.  So printf's are the best debugging tool there.
Comment 4 Michael Rennie CLA 2012-03-05 16:27:56 EST
(In reply to comment #3)
> (In reply to comment #2)
> > Didn't test it yet, but you should go back and remove the two
> > system.out.println's from the fix :)
> 
> Sorry about that, I committed a cleanup change.  
> 
> In gtk, if I set a breakpoint in menu creation code, my whole X session
> freezes.  So printf's are the best debugging tool there.

Looking better. Now we just need some doc on the new API methods: 

protected IContributionItem[] getContributionItems()
public void initialize(IServiceLocator serviceLocator)
Comment 5 Pawel Piech CLA 2012-03-05 16:46:59 EST
(In reply to comment #4)
> Looking better. Now we just need some doc on the new API methods: 
> 
> protected IContributionItem[] getContributionItems()
> public void initialize(IServiceLocator serviceLocator)

Hmm.  They're not really meant to be referenced by clients.  They only imlement/extend methods that are required by the contribution's interfaces.  Is there an API tag for that (@noreference perhaps)?  I.e. we don't typically document tag extensions to Action.run().
Comment 6 Michael Rennie CLA 2012-03-05 17:11:55 EST
(In reply to comment #5)
> (In reply to comment #4)
> > Looking better. Now we just need some doc on the new API methods: 
> > 
> > protected IContributionItem[] getContributionItems()
> > public void initialize(IServiceLocator serviceLocator)
> 
> Hmm.  They're not really meant to be referenced by clients.  They only
> imlement/extend methods that are required by the contribution's interfaces.  Is
> there an API tag for that (@noreference perhaps)?  I.e. we don't typically
> document tag extensions to Action.run().

@noreference
Comment 7 Pawel Piech CLA 2012-03-07 11:32:50 EST
(In reply to comment #4)
> Looking better. Now we just need some doc on the new API methods: 
Sorry Mike, I didn't mean to ignore the request, I just had a high-priority product issue that took my attention.
Comment 8 Michael Rennie CLA 2012-03-07 12:25:51 EST
(In reply to comment #7)
> (In reply to comment #4)
> > Looking better. Now we just need some doc on the new API methods: 
> Sorry Mike, I didn't mean to ignore the request, I just had a high-priority
> product issue that took my attention.

No worries, its taken care of