IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Eclipse Platform Discussion :

Refresh dynamique d'un tree d'une view par un bouton dans une autre view


Sujet :

Eclipse Platform

  1. #1
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 20
    Points : 12
    Points
    12
    Par défaut Refresh dynamique d'un tree d'une view par un bouton dans une autre view
    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 :

    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;
     
    	}
    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.
    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.

  2. #2
    Membre à l'essai
    Inscrit en
    Octobre 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Octobre 2006
    Messages : 20
    Points : 12
    Points
    12
    Par défaut
    Ok en fait j'ai trouvé ma réponse, il fallait que je regarde du coté du pattern Observer. J'ai enregistré ma vue représentant les résultats de recherche commme un observer par rapport à la sélection des critères de recherche.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 16/05/2007, 12h51
  2. [MySQL] récupérer dans une boucle chaque information MySQL dans une variable différente
    Par gtenthorey dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 06/05/2007, 22h34
  3. Réponses: 2
    Dernier message: 19/04/2007, 15h26
  4. Réponses: 2
    Dernier message: 20/06/2006, 08h22
  5. Ouvrir une frame avec un bouton dans une frame
    Par argon dans le forum AWT/Swing
    Réponses: 1
    Dernier message: 25/03/2006, 10h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo