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 :

[débutant] Appeler une action depuis un bouton dans une vue.


Sujet :

Eclipse Platform

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Mai 2007
    Messages : 159
    Points : 119
    Points
    119
    Par défaut [débutant] Appeler une action depuis un bouton dans une vue.
    Bonjour,

    Voila, je cherche depuis un moment, et je ne trouve pas de réponse, ni d'exemple... En plus je suis un peu dyslexique avec l'anglais...

    Le truc est tout simple :
    j'ai un bouton dans une vue ViewPart.
    Je lui ai associé un SelectionListener. Jusque là, ca va.
    Par ailleurs, j'ai défini, dans ApplicationActionBarAdvisor, des actions.
    Ma question est : Comment relier mon bouton(ou son listener) et l'action qui doit lui être associée? Commande dans le listener (laquelle)? Lien dans le manifest?
    Je dois être un peu aveugle, mais les exemples proposés ne montrent pas cela, et je n'ai pas trouvé dans l'aide (j'ai un peu de mal à comprendre les mécanismes en lisant les javadocs).

    Désolé de vous demander un truc aussi trivial, mais bon, j'en ai un peu besoin...

    D'avance merci

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    Bonjour,
    je te propose deux façons de définir des actions, à toi de choisir celle qui te conviendra le mieux:

    1: En fait, le ActionBarAdvisor est utilisé pour définir les menus et barres d'outils de ton application. Dans une appli RCP, la création de bouton est implicite et se fait par la création d'action. En général ça se fait comme suit:
    Dans la méthode makeActions de l'ApplicationActionBarAdvisor tu crées et enregistre ton action auprès du gestionnaire:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    monAction = new monAction();
    register(monAction)
    Ensuite, tu peux utiliser cette action soit en l'ajoutant(par la méthode "add") à un menu (objet MenuManager créé dans la méthode FillMenuBar), soit en l'ajoutant à une barre d'outils (objet ToolBarManager créé dans la méthode FillCoolBar).

    La forme et le label du bouton seront défini par ta classe définissant l'action.
    Voilà pour l'ActionBarAdvisor.


    2: Si tu veux que ton bouton soit dans la vue il faut faire comme suit:

    Pas besoin de listener, le lien se fait dans le manifeste plugin.xml.
    Il faut utiliser le point d'extension org.eclipse.viewActions.
    Ceci fait, faire "new -> ViewContribution" et lui fournir dans le champ targetID l'ID de ta ViewPart
    Puis ensuite, depuis cette viewContribution faire "new ->Action"
    Tu pourras ainsi définir plein de choses comme le label de ton bouton ou sa forme, mais surtout la classe définissant l'action que tu souhaite réaliser (cette classe doit hériter de IAction)


    Voilà j'espère avoir été suffisamment clair. N'hésite pas à poser des quesitons si tu rencontres des difficultés

    Cordialement.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Mai 2007
    Messages : 159
    Points : 119
    Points
    119
    Par défaut
    Merci beaucoup pour la réponse.

    Il reste toujours une question.
    J'ai opté pour la solution 2, car mon bouton se trouve dans la ViewPart.
    J'ai réalisé toutes les étapes que tu m'as proposé. En outre, j'ai dérivé une classe ActionChangeFenetre de Action, et surchargé la méthode run(), dans laquelle, j'ai mis un println.
    Cependant, quand je clique mon bouton, rien ne se passe.
    Dans ces étapes, je n'ai a aucun moment dû donner le nom de mon bouton, ni l'évènement à capturer pour activer mon action. Ca ca me trouble.
    Dans le pattern MVC, il y a quelque part un contrôleur justement chargé d'établir ce lien... Il est vrai que je suis vraiment nouveau en RCP, et que je n'ai pas tout compris (c'est le moins qu'on puisse dire), mais j'ai vraiment du mal à comprendre où est ce contrôleur dans une application RCP générée (j'ai choisi le modèle 'application RCP avec vue').
    Tout dabord, j'ai pensé qu'il s'agissait de ApplicationActionBarAdvisor, mais ca ne semble pas être le cas, ce qui fait que je ne sais plus du tout...

    Il me semble que je n'ai pas capté une information que tu devais trouver triviale dans ta réponse.
    Je serais très heureux d'avoir quelques précisions supplémentaires.

    D'avance merci

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    20
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Mai 2007
    Messages : 20
    Points : 14
    Points
    14
    Par défaut
    Oula j'arrive tard désolé

    Le problème est-il résolu?
    Si non, as-tu bien suivi les premières étapes? (utilisation du point d'extension dans le fichier plugin.xml puis création d'une viewContribution et d'une action que tu lie avec ta classe ActionChangeFenêtre)
    A aucun moment tu ne dois créer explicitement de bouton, c'est le fait d'ajouter une action à la viewContribution qui ajoutera le bouton automatiquement en haut à droite de ta vue.

    Si tu as du mal à comprendre, fais le moi savoir par MP et je t'enverrai des screenshots ça sera plus parlant.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    159
    Détails du profil
    Informations personnelles :
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Mai 2007
    Messages : 159
    Points : 119
    Points
    119
    Par défaut
    Bonjour,

    Désolé, j'ai dû m'absenter un bon moment...
    Je vais réessayer, et je te tiens au courant

    A bientôt,

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2009
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 27
    Points : 18
    Points
    18
    Par défaut Problème
    Bonjour,

    Pouvez-vous m'aider, j'ai rencontré le même problème que le votre.
    et MERCI;

Discussions similaires

  1. Donner une action a un bouton dans Extjs Architect
    Par Jeune_Developpeur dans le forum Ext JS / Sencha
    Réponses: 1
    Dernier message: 17/10/2012, 13h41
  2. [Struts-Layout] Disable d'un bouton dans une action
    Par chris78 dans le forum Struts 1
    Réponses: 3
    Dernier message: 02/06/2009, 09h49
  3. Intercepter l'action sur un bouton dans une autre vue
    Par Hira. dans le forum Eclipse Platform
    Réponses: 2
    Dernier message: 17/12/2008, 09h51
  4. Réponses: 14
    Dernier message: 25/06/2006, 19h18
  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