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 :

Comment contribuer à OpenFile ?


Sujet :

Eclipse Platform

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 10
    Points : 7
    Points
    7
    Par défaut Comment contribuer à OpenFile ?
    Bonjour à tous,

    Le menu File de Eclipse contient une entrée Open File, qui ouvre une fenêtre d'exploration avec laquelle on choisit un fichier à ouvrir et qui ensuite ouvre un éditeur sur le fichier en fonction du type.
    Je souhaiterai passer par cette mécanique et ouvrir un fichier xml bien particulier dans un éditeur de mon cru, i.e. ouvrir un éditeur en fonction du type mais aussi du contenu.
    Le choix de l'éditeur dans l'idéal devrait se faire ainsi :
    si la balise root du fichier correspond à un pattern bien précis, j'ouvre le fichier avec mon éditeur
    sinon on ouvre avec l'éditeur xml par défaut

    Je sèche totalement sur la façon de développer ça, ou du moins dans quelle direction partir...

    Toute aide sur le sujet sera la bienvenue ! Merci

  2. #2
    Membre émérite
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 468
    Points : 2 996
    Points
    2 996
    Par défaut
    Pour le menu, tu utilises le point d'extension org.eclipse.ui.menus. Il va te demander une "location" pour ton menu, tu pourras la déduire en utilisant le Plug-in Spy, que tu trouves par exemple dans cet outil: http://marketplace.eclipse.org/conte...-rcp-inspector

    Ensuite à ce menu, tu associes une command. Tu définis ta commande à l'aide d'une extension org.eclipse.core.commands.

    Pour cette command, tu crées un handler, qui contiendra le code Java qui va tourner quand la commande sera activée (i.e. quand quelqu'un va cliquer sur ton entrée de menu).
    Dans ce bout de code, tu utilises le FileDialog qui va bien pour ton extension, et tu regardes ce que contient le fichier sélectionné. Puis, tu ouvres l'éditeur que tu veux en fonction: http://wiki.eclipse.org/FAQ_How_do_I...ammatically%3F
    Pour du HTML, CSS, JavaScript, TypeScript, JSon, Yaml, Node... dans Eclipse IDE, installe Eclipse Wild Web Developer
    Pour du Rust dans Eclipse IDE, installe Eclipse Corrosion
    Follow me on twitter

  3. #3
    Membre du Club
    Inscrit en
    Juillet 2012
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 32
    Points : 58
    Points
    58
    Par défaut
    Bonjour,

    D'après la doc sur le point d'extension de l'éditeur :
    http://help.eclipse.org/helios/index...i_editors.html

    tu peux définir une classe matchingStrategy, de type IEditorMatchingStrategy et implémenter la méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     boolean matches(IEditorReference editorRef, IEditorInput input);
    Tu analyses le contenu de IEditorInput en récupérant le IFile associé dans le cas où c'est un IFileEditorInput

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2012
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Merci pour vos réponses, ça m'a bien aidé, je suis parvenu à ouvrir mon éditeur pour mon fichier xml

    Par contre j'ai encore une question en suspend :

    - en suivant ton cheminement Mickaël, je réussi à me créer ma propre entrée dans le menu File mais pas impacter l'entrée OpenFile.... Est-ce qu'il est possible de surcharger le comportement de OpenFile pour y ajouter un comportement en cas de fichier xml avec ma structure attendue?

  5. #5
    Membre du Club
    Inscrit en
    Juillet 2012
    Messages
    32
    Détails du profil
    Informations forums :
    Inscription : Juillet 2012
    Messages : 32
    Points : 58
    Points
    58
    Par défaut
    Je ne pense pas que tu puisses surcharger une entrée de menu existante.
    Par contre si tu fais du RCP tu peux supprimer celle que tu ne veux plus et mettre la tienne.

  6. #6
    Membre émérite
    Avatar de Mickael_Istria
    Homme Profil pro
    Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Inscrit en
    Juillet 2008
    Messages
    1 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Expert Eclipse IDE/RCP, pour Red Hat
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 468
    Points : 2 996
    Points
    2 996
    Par défaut
    Citation Envoyé par Le Petit Lémurien Voir le message
    Est-ce qu'il est possible de surcharger le comportement de OpenFile pour y ajouter un comportement en cas de fichier xml avec ma structure attendue?
    Pas vraiment dans ce cas-là. Dans d'autres situations plus "contextuelles" (Copier, coller, Run & cie), il te suffit d'ajouter un handler à la commande et
    de bien implémenter les enableWhen et activeWhen. Ainsi, la commande choisira le handler qui convient le mieux.
    Pour le "Open File..." tu es déjà dans le Handler au moment où le FileDialog s'ouvre. À ce moment là, donc, tu ne peux pas utiliser ce mécanisme.
    Par contre, le OpenFile se termine par une ouverture basée sur les associations entre fichiers et éditeurs par défaut. Peut-être devrais-tu voir si tu ne peux pas faire en sorte que tes fichiers soient associées par défaut à ton éditeur, en te basant sur des conventions de nommage par exemple...
    Pour du HTML, CSS, JavaScript, TypeScript, JSon, Yaml, Node... dans Eclipse IDE, installe Eclipse Wild Web Developer
    Pour du Rust dans Eclipse IDE, installe Eclipse Corrosion
    Follow me on twitter

Discussions similaires

  1. Pourquoi un forum contributions ? Comment contribuer ?
    Par Jérôme Lambert dans le forum Contribuez
    Réponses: 1
    Dernier message: 23/04/2018, 13h17
  2. Comment contribuer aux FAQ Qt ?
    Par dourouc05 dans le forum Contribuez
    Réponses: 21
    Dernier message: 09/04/2017, 16h48
  3. Comment contribuer à un projet open source C# ?
    Par Cooky dans le forum Projets
    Réponses: 12
    Dernier message: 31/12/2008, 16h20
  4. Pourquoi un forum contributions ? Comment contribuer ?
    Par Community Management dans le forum Contribuez
    Réponses: 0
    Dernier message: 09/12/2008, 23h13
  5. Comment contribuer aux pages FAQ, SOURCES, TUTORIELS ?
    Par Guigui_ dans le forum Contribuez
    Réponses: 0
    Dernier message: 21/05/2006, 21h58

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