Bug 379289

Summary: No supported public API for programmatically modifying/adding bindings
Product: [Eclipse Project] Platform Reporter: Chris Williams <chris.a.williams>
Component: UIAssignee: Platform-UI-Inbox <Platform-UI-Inbox>
Status: NEW --- QA Contact:
Severity: enhancement    
Priority: P3 CC: arnaud.brunet+eclipse, bsd, chris.a.williams, christian.pontesegger, pwebster
Version: 4.2   
Target Milestone: ---   
Hardware: Macintosh   
OS: Mac OS X - Carbon (unsup.)   
See Also: https://bugs.eclipse.org/bugs/show_bug.cgi?id=379162
Whiteboard:
Attachments:
Description Flags
Breaking backward compatibility patch none

Description Chris Williams CLA 2012-05-11 13:43:56 EDT
Build Identifier: 

BindingService/BindingManager addBinding is internal and not a supported public API. There should be some way to programmatically define bindings for commands and have that way be a supported public API.

Reproducible: Always
Comment 1 Arnaud Brunet CLA 2013-04-09 18:23:12 EDT
I don't know if i need open an other bug but the BindingService.addBinding(Binding) method doesn't call BindingManager.addBinding(Binding) method.

So BindingService.getBindings() doesn't return a Binding added by the add method.

Regards,
Arnaud
Comment 2 Arnaud Brunet CLA 2013-04-09 19:25:34 EDT
Created attachment 229544 [details]
Breaking backward compatibility patch

A patch that breaks backward compatibility: added addBinding and removeBinding to IBindingService and those methods call now the bindingManager.
Comment 3 Christian Pontesegger CLA 2016-06-01 09:53:06 EDT
Would be great to see some progress here. EASE now supports dynamic keybindings for scripts. We have to use restricted API so far for addBinding()/removeBinding()
Comment 4 Brian de Alwis CLA 2016-06-01 10:19:24 EDT
You should be able to add, tweak, and remove bindings programmatically through the E4 layer (MBindingTable, MBindingContext, MKeyBinding).  Those changes should percolate directly into the binding mechanism.