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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
if(((e.stateMask & SWT.CTRL) != 0)
Que faire ??