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 :

[RCP] Acces/Modif/Suppr. d'actions des menus


Sujet :

Eclipse Platform

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2006
    Messages : 15
    Par défaut [RCP] Acces/Modif/Suppr. d'actions des menus
    Bonjour,

    cela fait plusieurs jours que je cherche comment on pourrait modifier des actions dans un menu du Workbench et je n'arrive pas à trouver la solution. J'ai déclaré mes actions dans 'plugin.xml' partie extensions. Maintenant à partir d'une VUE j'ai envie d'activer et désactiver, voire modifier le comportement d'une de ces actions. Quelq'uun saurait t-il comment accéder à l'une des actions des menus du Workbench déclarées dans plugin.xml ?

  2. #2
    Membre chevronné Avatar de Jean-Philippe Shields
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2005
    Messages : 278
    Par défaut
    Je ne connais pas la réponse exacte, mais si tu as déclarés tes actions dans le plugin.xml, alors tu peux utiliser l'extension registry pour y avoir accès. Cet article montre les bases de comment accéder aux points d'extensions d'un plug-in en particulier.

    http://www.developer.com/java/ent/article.php/3641696

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2006
    Messages : 15
    Par défaut
    J'ai peut être trouvé une piste. En fait les actions déclarées dans plugin.xml implémentatent l'interface IWorkbenchWindowActionDelegate. Le plus intéressant est la méthode selectionChanged(), qui écoute les changements de selection. Pour rendre l'action sesible à une selection dans une vue il suffit de taper dans notre vue :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    getSite().setSelectionProvider(viewer);
    L'activation de l'action (ce que je recherchais en fait) se fait grâce à l'extension "enablement".
    Cepandant j'ai encore un problème: mon action est de type Ouvrir. Celle-ci est activé lors de la sélection d'un objet affiché dans ma vue. Mais une fois l'objet "Ouvert" = Un éditeur ouvert, l'action se désactive et l'édition du second objet en sumultané n'est plus possible. Pourtant l'ouverture de plusieurs éditeur est possible grâce à une action crée de manière programatique.

  4. #4
    Membre chevronné Avatar de Jean-Philippe Shields
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    278
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2005
    Messages : 278
    Par défaut
    Ta piste est bonne, mais ce n'est pas du tout ce que j'avais compris de ton premier post. Si tu veux simplement que ton action soit "enabled" ou "disabled" selon les sélections que tu fais dans une autre vue, alors oui tu es dans la bonne direction. Évidemment, ta vue doit utiliser le service de "selection provider" pour informer les autres objets du workbench des sélections qui s'y font.

    À ce moment là dans la fonction selectionChanged de ton action, tu vérifies si la sélection est du type que tu désires pour ton action ou non et tu "enabled" ou "disabled" ton action en conséquence.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Février 2006
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Février 2006
    Messages : 15
    Par défaut
    Solution trouvée ! Merci d'avance pour tes réponses.
    En fait apparament il y a un problème au niveau des focus. Un fois un éditeur ouvert l'acion "Ouvrir" se désactive. Ce qui est normal vu que la vue n'a plus le focus mais l'éditeur qui mais d'être ouvert. Or quand on clic sur un autre objet de la vue, le bouton ouvrir restait toujours désactivé. A ce moment la j'ai remarqué que l'éditeur avait toujours le focus malgré le clic dans la vue (qui a permis de sélectionner un autre objet). La solution pour réactiver le bouton Ouvrir est de recliquer sur l'onglet de la vue.

    J'en conclut donc 2 choses:
    • un clic dans la vue permettant d'effectuer une nouvelle sélection ne passe pas le focus à la vue. Une fois un clic sur l'onglet de la vue effectué la nouvelle selection est prise en comte. Je dois donc oublier quelque part de lier l'évenement de selection avec l'activation du focus de la vue.
    • l'évenement d'une nouvelle selection dans une vue n'est pas passé au worbench tant que la vue n'a pas le focus.


    Merci pour votre aide.

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

Discussions similaires

  1. [MySQL] Accès refusé lors d'action sur des boutons.
    Par edwithenwisdom dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 26/04/2012, 19h21
  2. Modification des menus de la base de donnée
    Par cluster26 dans le forum Conception
    Réponses: 6
    Dernier message: 05/02/2010, 19h57
  3. RCP ajouter zone de texte dans la barre des menus
    Par kespy13 dans le forum Eclipse Platform
    Réponses: 0
    Dernier message: 02/05/2009, 23h12
  4. Accès, modification des données
    Par donnadieujulien dans le forum DB2
    Réponses: 4
    Dernier message: 22/07/2008, 21h33
  5. [RCP] Internationalisation des menus
    Par eclesia dans le forum NetBeans Platform
    Réponses: 2
    Dernier message: 04/05/2008, 13h05

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