[SWT] Problèmes KeyListener Ctrl+F
Bonjour,
J'ai pas mal cherché mais sans résultats...
J'ai un MultiPageEditor dans lequel j'ai 1 page correspondant à un TextEditor et 1 page correspondant à un TreeEditorPart.
Je souhaite créer une fonction de recherche dans le TreeEditorPart qui contient un TreeViewer. Pour cela j'ai créé une fenêtre (shell) qui va bien et je souhaite qu'elle s'ouvre en cliquant sur Ctrl+F.
Mon problème est que ma fenêtre ne veut plus ouvrir dès que j'ai été sur la page contenant le TextEditor et que je reviens sur mon TreeEditorPart.
Ce que j'ai fait :
Code:
1 2 3 4 5 6 7 8 9 10
|
private void addTreeViewerListener(){
treeviewer.getTree().addKeyListener(new KeyListener(){
public void keyPressed(KeyEvent e) {
if(((e.stateMask & SWT.CTRL) != 0) & (e.keyCode == 102)) {//102 = F
System.out.println("CTRL + F");
findDialog.open();
}
}
} |
Code:
1 2 3 4 5
|
public void setFocus() {
treeEditorPart = this;
addTreeViewerListener();
} |
D'après mes tests, cette condition ne passe plus après le changement de page:
Code:
1 2
|
if(((e.stateMask & SWT.CTRL) != 0) |
Que faire ??