Bonjour,
Je développe un plugin Eclipse en implémentant une ActionSet qui ouvre un éditeur. J'ai ajouté aussi quelques raccourcis clavier (bindings) qui doivent fonctionner seulement lorsque la page de l'éditeur est active (a le focus). certains raccourcis sont les même que pour Eclipse, ce dernier prend le monopole sur les arccourcis. lorsqu'on appuie par exemple sur "F12" une fenetre Eclipse s'ouvre alors que dans mon éditeur ça fait autre chose.
J'ai réussi a désactiver les raccourcis Clavier d'Eclipse en lançant l'éditeur puis les réactiver lors de la fermeture de l'éditeur:
*********** DESACTIVER **********
*********** REACTIVER *********
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 bindingService = (IBindingService)PlatformUI.getWorkbench().getAdapter(IBindingService.class); localChangeManager = new BindingManager(new ContextManager(), new CommandManager()); defaultScheme = bindingService.getActiveScheme(); defaultBindings = bindingService.getBindings(); Scheme scheme = null; try { scheme = bindingService.getScheme(Consts.X3270_SCHEME_ID); localChangeManager.setActiveScheme(scheme); } catch (final NotDefinedException e) { throw new Error( "There is a error"); //$NON-NLS-1$ } try{ if(scheme!=null) bindingService.savePreferences(scheme, localChangeManager.getBindings()); }catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
/*ce code peut ne pas avoir un lien avec ma question mais ça peut être utile pour cetains*/
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 public void dispose() { super.dispose(); /* restore default bindings*/ try { localChangeManager.setActiveScheme(defaultScheme); } catch (final NotDefinedException e) { throw new Error( "There is a error"); //$NON-NLS-1$ } try{ bindingService.savePreferences(defaultScheme, defaultBindings); }catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }
Question: Comment faire pour désactiver ces raccourcis seulement lorsque la fenetre de l'éditeur n'a pas le focus??
Merci.
Partager