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 :

[Plug-in Eclipse] Intéraction Vue et menu


Sujet :

Eclipse Platform

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Chine

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 29
    Par défaut [Plug-in Eclipse] Intéraction Vue et menu
    Bonjour,

    Je suis en train de faire un plug-in Eclipse et je voudrais savoir si on pouvait faire une interaction entre une vue et un menu.
    Je m'explique : Dans une vue, j'ai un bouton qui récupère des informations et fait des traitements lorsqu'on appuie dessus. Ce que je voudrais, c'est faire un menu avec une commande (et un bouton sur la barre d'outils mais ça revient au même que faire le menu, non? ) qui ferait la même chose que le bouton dans la Vue.

    Merci d'avance pour vos réponses

  2. #2
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Salut,

    Bien sur, c'est tout à fait possible. Je ne sais pas ce que tu récupères à l'appui de ton bouton, mais j'imagine qu'il s'agit d'une sélection de l'utilisateur.
    Sache que tu peux référencer un viewer de ta vue comme "fournisseur" de sélection. Je m'explique. Eclipse fournit un service de sélection. Tu abonnes ton viewer à ce service à travers le IViewSite de ta vue:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getSite().setSelectionProvider(myViewer);
    Ensuite, tu utilises le service de sélection pour obtenir la sélection courante de ta vue dans le Handler de ta commande:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ISelectionService  service = 
        PlatformUI.getWorkbench().getActiveWorkbenchWindow().getSelectionService();
    ISelection selection = service.getSelection("my.view.id");
    Tu as un article d'Eclipse très intéressant là dessus.

    Voilà, à+
    Gueritarish

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Chine

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 29
    Par défaut
    Merci pour ta réponse, j'ai à peu près compris le gros du truc mais je reste un peu perdu.
    Lorsque j'appuie sur le bouton, je récupère des String et une fenêtre qui fait un récapitulatif avec un bouton valider. Lorsque je valide, j'utilise les String pour faire un traitement.
    Donc si j'utilise un Provider et en utilisant le service de sélection, je pourrais récupérer ses Strings et faire le même traitement que si j'appuyais si le bouton ?

    J'ai l'impression que je dois ré implémenter pas mal de chose, est ce le cas?
    Je reviendrais surement avec du code

  4. #4
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Salut,

    Il va falloir que tu sois un peu plus précis alors. Quel est le contenu de ta vue et qu'est-ce que tu récupères pour exécuter ta commande?

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2011
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Chine

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2011
    Messages : 29
    Par défaut
    Le contenu de ma vue est un ensemble de bouton ( checkbox, radio ) et mon bouton exécution va me permettre de récupérer les informations associées aux bouton et faire un traitement avec ces informations.
    Et donc je voudrais utiliser une commande dans un menu qui va récupérer tous les informations associés aux boutons et faire le traitement de la même que si j'utilisais le bouton d'exécution.

    J'espère que maintenant c'est plus précis.

  6. #6
    Membre Expert
    Avatar de Gueritarish
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mai 2007
    Messages
    1 800
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2007
    Messages : 1 800
    Par défaut
    Salut,

    Désolé pour la réponse un peu tardive...
    Ce que tu peux faire, c'est créer ton "service de sélection" amélioré.
    Il te suffit de déclarer un service à l'initialisation de ton bundle puis de le mettre à jour à la sélection de l'utilisateur et enfin, de l'utiliser quand tu cliques sur ton menu. En gros, ça donne quelque chose comme ça:
    D'abord, tu enregistres ton service:
    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
    public class MyBundleActivator implements BundleActivator {
        private ServiceRegistration registration;
     
        public void start(BundleContext context) {
            ...
     
            MySelectionProvider provider = new MyOwnSelectionProvider();
     
            Dictionary props = new Properties();
            props.put("category", "misc");
     
            registration = context.registerService(
                                   MySelectionProvider.class.getName(),
                                   provider, props);
        }
     
        public void stop(BundleContext context) {
            registration.unregister();
            ...
        }
    }
    L'interface MySelectionProvider correspond à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public interface MySelectionProvider {
        public Selection getSelection();
     
        public void updateSelection(final Selection aSelection);
    }
    L'implémentation de ton selection provider revient à:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    public class MyOwnSelectionProvider implements MySelectionProvider {
        private Selection currentSelection;
     
        public Selection getSelection() {
            return currentSelection;
        }
     
        public void updateSelection(final Selection aSelection) {
            currentSelection = aSelection;
        }
    }
    Après, la classe Selection est une classe "métier" à créer et qui correspond à la sélection que tu récupères dans ta vue.
    Pour récupérer ton service, du coup, il te suffit de faire:

    Cette méthode est avantageuse seulement si tu envisages de pouvoir fournir la sélection de ta vue à un autre Bundle.
    Sinon, un simple contrôleur qui fait la même chose, c'est aussi bien.

    Voilà, à+
    Gueritarish

Discussions similaires

  1. [plug in] Eclipse Swing et AWT
    Par richard_sraing dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 18/03/2008, 22h26
  2. problème plug in eclipse 3.1
    Par dinamed dans le forum Eclipse Java
    Réponses: 0
    Dernier message: 16/09/2007, 12h43
  3. [Spring] plug in Eclipse
    Par dominou73 dans le forum Eclipse Java
    Réponses: 6
    Dernier message: 03/08/2007, 10h39
  4. Les sites pour plug in eclipse
    Par zizoux5 dans le forum Eclipse Java
    Réponses: 1
    Dernier message: 09/03/2007, 13h30
  5. [Eclipse 2.1.3]Install.Plug-ins Eclipse
    Par patdez dans le forum Eclipse Java
    Réponses: 2
    Dernier message: 21/04/2004, 14h47

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