Bonjour à tous,
je souhaite intercepter la fermeture d'une vue de mon application, pour demander une confirmation (du style : "êtes vous sur de vouloir fermer cette vue ?")

Pour cela, lors de la création de ma vue, j'ajoute un listener :
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
24
25
26
27
28
29
30
31
protected void initPartListener() {
        // le listener est un attribut de la classe
        this.listener = new IPartListener2() {
            public void partClosed(IWorkbenchPartReference partRef) {
                // TODO Auto-generated method stub
            }
            public void partDeactivated(IWorkbenchPartReference partRef) {
                // TODO Auto-generated method stub
            }
            public void partActivated(IWorkbenchPartReference partRef) {
                // TODO Auto-generated method stub
            }
            public void partBroughtToTop(IWorkbenchPartReference partRef) {
                // TODO Auto-generated method stub
            }
            public void partHidden(IWorkbenchPartReference partRef) {
                // TODO Auto-generated method stub
            }
            public void partInputChanged(IWorkbenchPartReference partRef) {
                // TODO Auto-generated method stub
            }
            public void partOpened(IWorkbenchPartReference partRef) {
                // TODO Auto-generated method stub
            }
            public void partVisible(IWorkbenchPartReference partRef) {
                // TODO Auto-generated method stub
            }
        };
 
        getSite().getPage().addPartListener(this.listener);
    }
J'ai mis des traces pour voir par où il passe, et lors de la fermeture d'une vue, il passe par :
partDeactivated,
partHidden et
partClosed.

Seulement, comment puis-je faire pour lui dire de ne mas fermer la vue ?
Dans la fonction partDeactivated, j'ai l'impression qu'il est déjà trop tard ?

Savez-vous comment faire ?
D'avance merci,
nako