Bonjour,
Dans le cadre de développement d'un plugin eclipse, j'ai eu besoin de changer le Scheme (keybindings) d'Eclipse dynamiquement en spécifiant mon propre scheme:
le code de changement de scheme est:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <extension point="org.eclipse.ui.bindings"> <scheme id="X3270Scheme" name="X3270" parentId="org.eclipse.ui.defaultAcceleratorConfiguration"> </scheme> </extension>
ça fonctionne bien mais j'ai une erreur qui s'affiche dans la Error log d'Eclipse:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 IBindingService bindingService = (IBindingService)PlatformUI.getWorkbench().getAdapter(IBindingService.class); BindingManager localChangeManager = new BindingManager(new ContextManager(), new CommandManager()); try { Scheme x3270Scheme = bindingService.getScheme(Consts.X3270_SCHEME_ID); localChangeManager.setActiveScheme(x3270Scheme); bindingService.savePreferences(x3270Scheme, localChangeManager.getBindings()); } catch (final NotDefinedException ex) { ex.printStackTrace(); }catch (IOException ex) { ex.printStackTrace(); }
Qu'est ce qui caus eproblème dans mon code?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 org.eclipse.core.commands.common.NotDefinedException: Cannot get the parent identifier from an undefined scheme. X3270Scheme at org.eclipse.jface.bindings.Scheme.getParentId(Scheme.java:207) at org.eclipse.jface.bindings.BindingManager.getSchemeIds(BindingManager.java:1573) at org.eclipse.jface.bindings.BindingManager.setActiveScheme(BindingManager.java:2213)
je soupçonne l'objet BindingManager car je crée un?
Cordialement.
Partager