Bug 379289 - No supported public API for programmatically modifying/adding bindings
Summary: No supported public API for programmatically modifying/adding bindings
Status: NEW
Alias: None
Product: Platform
Classification: Eclipse Project
Component: UI (show other bugs)
Version: 4.2   Edit
Hardware: Macintosh Mac OS X - Carbon (unsup.)
: P3 enhancement (vote)
Target Milestone: ---   Edit
Assignee: Platform-UI-Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2012-05-11 13:43 EDT by Chris Williams CLA
Modified: 2017-05-26 09:19 EDT (History)
5 users (show)

See Also:


Attachments
Breaking backward compatibility patch (3.53 KB, patch)
2013-04-09 19:25 EDT, Arnaud Brunet CLA
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
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.