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 :
J'ai mis des traces pour voir par où il passe, et lors de la fermeture d'une vue, il passe par :
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); }
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
Partager