Bonjour,
Dans mon application RCP, j'ai un une action (toggle Button)Lorsque cette action est checked, j'aimerais désactiver l'action ci-dessous :
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
32
33
34
35
36
37
38
39
40
41
42 /** * Action de dessin de ligne * Cette action peut être lancé depuis le menu de la fenêtre du workbench */ public class NewLineActionDelegate implements IWorkbenchWindowActionDelegate{ public static final String ID = "ltmanager.actions.NewLineAction";// identifiant de l'action private IWorkbenchWindow window; /** * Méthode pour initialiser l'action depuis la fenêtre du Workbench */ @Override public void init(IWorkbenchWindow window) { this.window = window; } /** * Lance l'action de dessin de ligne */ @Override public void run(IAction action) { //Récupération de la page active IWorkbenchPage page = window.getActivePage(); //Récupération de l'éditeur actif DrawingEditor drawingEditor = (DrawingEditor) page.getActiveEditor(); //Si le toggle est enfoncé on active le mode dessin de ligne du contrôleur if(action.isChecked()){ drawingEditor.getDrawingController().setMode(DrawingController.Mode.LINE_CREATION); }else{ drawingEditor.getDrawingController().setMode(DrawingController.Mode.SELECTION); } } @Override public void dispose() { } @Override public void selectionChanged(IAction action, ISelection selection) { } }Comment puis-je récupérer l'autre action pour la désactiver ?
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
32
33
34
35
36
37
38
39
40
41
42 /** * Action de dessin de cercle * Cette action peut être lancé depuis le menu de la fenêtre du workbench */ public class NewCircleActionDelegate implements IWorkbenchWindowActionDelegate{ public static final String ID = "ltmanager.actions.NewCircleAction";// identifiant de l'action private IWorkbenchWindow window; /** * Méthode pour initialiser l'action depuis la fenêtre du Workbench */ @Override public void init(IWorkbenchWindow window) { this.window = window; } /** * Lance l'action de dessin de cercle */ @Override public void run(IAction action) { //Récupération de la page active IWorkbenchPage page = window.getActivePage(); //Récupération de l'éditeur actif DrawingEditor drawingEditor = (DrawingEditor) page.getActiveEditor(); //Si le toggle est enfoncé on active le mode dessin de ligne du contrôleur if(action.isChecked()){ drawingEditor.getDrawingController().setMode(DrawingController.Mode.CIRCLE_CREATION); }else{ drawingEditor.getDrawingController().setMode(DrawingController.Mode.SELECTION); } } @Override public void dispose() { } @Override public void selectionChanged(IAction action, ISelection selection) { } }
Merci pour votre aide
Partager