Intercepter la fermeture d'une vue
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:
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