Précédent   Forum du club des développeurs et IT Pro > Environnements de développement > Eclipse > Eclipse Platform
Eclipse Platform Développement de plugins Eclipse et d'applications Eclipse RCP (Rich Client Platform). Avant de poster -> Tutoriels sur le développement de plugins Eclipse
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse
 
Outils de la discussion
Publicité
'
Vieux 28/08/2012, 11h23   #1
Le Petit Lémurien
Invité de passage
 
Homme
Ingénieur développement logiciels
Inscription : 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 : 2
Points : 2
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
Le Petit Lémurien est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2012, 12h42   #2
Mickael_Istria
Membre émérite

 
Avatar de Mickael_Istria
 
Homme Mickael Istria
Développeur Expert Eclipse RCP
Inscription : juillet 2008
Messages : 480
Détails du profil
Informations personnelles :
Nom : Homme Mickael Istria
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Expert Eclipse RCP
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2008
Messages : 480
Points : 907
Points : 907
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
__________________
Inscrivez-vous pour la premiere EclipseCon France, le 5 et 6 juin!

Read my blog about Eclipse | Follow me on twitter
My employer, JBoss, by RedHat
Mickael_Istria est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 28/08/2012, 14h20   #3
sam9722
Membre du Club
 
Inscription : juillet 2012
Messages : 32
Détails du profil
Informations forums :
Inscription : juillet 2012
Messages : 32
Points : 52
Points : 52
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 :
 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
sam9722 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 28/08/2012, 17h08   #4
Le Petit Lémurien
Invité de passage
 
Homme
Ingénieur développement logiciels
Inscription : 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 : 2
Points : 2
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?
Le Petit Lémurien est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/08/2012, 10h27   #5
sam9722
Membre du Club
 
Inscription : juillet 2012
Messages : 32
Détails du profil
Informations forums :
Inscription : juillet 2012
Messages : 32
Points : 52
Points : 52
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.
sam9722 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/08/2012, 16h10   #6
Mickael_Istria
Membre émérite

 
Avatar de Mickael_Istria
 
Homme Mickael Istria
Développeur Expert Eclipse RCP
Inscription : juillet 2008
Messages : 480
Détails du profil
Informations personnelles :
Nom : Homme Mickael Istria
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : Développeur Expert Eclipse RCP
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : juillet 2008
Messages : 480
Points : 907
Points : 907
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...
__________________
Inscrivez-vous pour la premiere EclipseCon France, le 5 et 6 juin!

Read my blog about Eclipse | Follow me on twitter
My employer, JBoss, by RedHat
Mickael_Istria est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 06h44.


 
 
 
 
Partenaires

Hébergement Web