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 Java Discussion :

Visibilité d'un popup menu


Sujet :

Eclipse Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre émérite
    Avatar de bpy1401
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2003
    Messages : 511
    Par défaut Visibilité d'un popup menu
    Bonjour à tous

    J'arrive à ajouter un popup menu sur un fichier en créant un objectContribution dans mon plugin.xml. j'ai pu aussi limiter la visibilité du popup sur l'extension du fichier.

    Maintenant j'ai plusieurs fichiers différents possédant la même extension, mais ces fichiers doivent avoir un popup menu différents en fonction de leurs contenus.

    Il m'est impossible de modifier l'extension des fichier.

    je cherche donc à limiter la visibilité sur le contenu de ce fichier. Est ce possible et si oui comment.

    merci
    Page sur Developpez : http://pbriand.developpez.com

  2. #2
    Membre émérite
    Avatar de bpy1401
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2003
    Messages
    511
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2003
    Messages : 511
    Par défaut [Résolu] Visibilité d'un popup menu
    Bonjour à tous,

    J'ai pu trouver la solution sur le net, Voici donc comment il faut faire:

    Il faut d'abord déclarer une nouvelle extension dans plugin.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
      <extension point="org.eclipse.core.expressions.propertyTesters">
         <propertyTester
            id="org.eclipse.myplugin.propertyTester"
            namespace="com.moi.ea"
            properties="MyProperty"
            type="org.eclipse.core.resources.IFile"
            class="com.memory.actions.EaPropertyTester">
         </propertyTester>
       </extension>
    et créer une nouvelle classe EaPropertyTester qui est dérivée de PropertyTester

    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
    22
    23
     
    public class EaPropertyTester extends PropertyTester {
     
      @SuppressWarnings("restriction")
      public boolean test(Object arg0, String arg1, Object[] arg2, Object arg3) {
        if (arg0 instanceof File) {
          File currentFile = (File) arg0;
     
          /* Ouverture du fichier XML */
          EaDataManager  eaDataManager = new  EaDataManager(currentFile.getLocation().toOSString());
     
          /* et on part à la recherche pour savoir si on est bien sur un fichier EA 
              si c'est le cas on renvoie true*/
              if (.....) {
                return true;
              }
            }
          }
        }
        return false;
      }
     
    }

    ensuite, il suffit de d'ajouter dans l'extension objectContribution un "enablement" comme dans l'exemple suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
          <objectContribution
             adaptable="true"
             objectClass="org.eclipse.core.resources.IFile"
             nameFilter="*.xml">
             <enablement>
               <test
                  forcePluginActivation="true"
                  property="com.moi.ea.MyProperty"/>
             </enablement >   
             <action
                    .....
    le champs property doit être namespace.properties de l'extension propertyTesters

    et le tour est joué

    en espérant que cela puisse servir à d'autre
    Cordialement
    Page sur Developpez : http://pbriand.developpez.com

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    37
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 37
    Par défaut
    Bonjour,
    Merci pour cette information, je voulais faire la même chose.
    Cependant, je n'ai pas l'élément "test" comme fils de enablement. A la place j'ai ObjectClass, ObjectState, PluginState et SystemProperty.

    Pourtant dans extension point description, il y a 2 enablement, dont un avec l'élément test, instanceof...

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

Discussions similaires

  1. [PageControl] problème avec le popup menu
    Par Rayek dans le forum Composants VCL
    Réponses: 2
    Dernier message: 13/02/2006, 15h56
  2. ajouter dynamiquement des items dans un popup menu
    Par Malone dans le forum Composants VCL
    Réponses: 7
    Dernier message: 23/08/2005, 16h08
  3. Visibilité commande dans un Menu contextuel
    Par Hamdi dans le forum IHM
    Réponses: 3
    Dernier message: 20/01/2005, 12h29
  4. Popup menu ?
    Par AnneOlga dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/12/2003, 16h12
  5. Mettre un popup menu invisible ??
    Par Alberto dans le forum Composants VCL
    Réponses: 2
    Dernier message: 20/12/2002, 09h02

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