Bonjour,
Je réalise une maquette RCP constituée de 3 views :
1) Une view avec des critères de recherche
2) une view constituée d'un tree qui représente les résultats de la recherche
3) une view constituée de détail se mettant à jour en sélection un élément des résultats de recherche du tree.
Mon probleme est que je veux mettre à jour le tree représentant les resultats de recherche après avoir sélectionné les critères de recherche (je propose des critères avec des combobox) puis en cliquant sur un bouton pour soumettre la recherche.
J'ai regardé du coté de SelectionService (que j'ai d'ailleurs utilisé ailleurs), mais j'ai l'impression que le selectionservice fonctionne pour des objets sélectionnables comme un élément de tree, un textfield. Supposant que ça fonctionne pour un bouton, je peux éventuellement déclarer un ISelectionListener dans ma vue qui doit etre mise à jour par le clic du bouton de recherche comme suit :
Je dois ensuite dans la méthode createPartControl ajouter ce listener pour que la vue soit notifiée du clic du bouton. Mais apparemment il faut spécifier que le bouton de recherche est un SelectionProvider, or pas possible car ce n'est pas un viewer.
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 private ISelectionListener boutonRechercheListener = new ISelectionListener(){ public void selectionChanged(IWorkbenchPart part, ISelection selection) { // we ignore our own selections if (part != SearchResultView.this) { refreshResults(part, selection); } } }; protected void refreshResults(IWorkbenchPart part, ISelection selection) { ISelection ss = (ISelection) selection; }
Bref comment récupérer les valeurs de mes combo utilisées pour les critères de recherche, puis dire à ma vue de résultats que c'est un listener pour le clic du bouton de recherche. Merci pour votre aide.
Partager