|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Ingénieur développement logiciels Inscription : août 2012 Messages : 10 ![]() |
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 |
|
|
00
|
|
|
#2 |
|
Membre émérite
![]() ![]() ![]() Mickael IstriaDéveloppeur Expert Eclipse RCP Inscription : juillet 2008 Messages : 480 ![]() |
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 |
|
10
|
|
|
#3 |
|
Membre du Club
![]() Inscription : juillet 2012 Messages : 32 ![]() |
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); |
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Ingénieur développement logiciels Inscription : août 2012 Messages : 10 ![]() |
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? |
|
|
00
|
|
|
#5 |
|
Membre du Club
![]() Inscription : juillet 2012 Messages : 32 ![]() |
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. |
|
|
10
|
|
|
#6 | |
|
Membre émérite
![]() ![]() ![]() Mickael IstriaDéveloppeur Expert Eclipse RCP Inscription : juillet 2008 Messages : 480 ![]() |
Citation:
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 |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com