Bonjour,
Je viens de faire une application à l'aide de GEF. Je voulais pour pouvoir ajouter un élément au menu, me permettant d'exécuter la commande suivante:
java SWCLanguageC <le nom du fichier ouvert>
SWCLanguage est une classe java.
merci.
Bonjour,
Je viens de faire une application à l'aide de GEF. Je voulais pour pouvoir ajouter un élément au menu, me permettant d'exécuter la commande suivante:
java SWCLanguageC <le nom du fichier ouvert>
SWCLanguage est une classe java.
merci.
Salut,
Une solution possible serait de définir une commande avec le point d'extension "org.eclipse.ui.commands" et d'y associer un handler.
Dans le handler, tu peux récupérer l'éditeur actif via :
Pour récupérer le fichier, tu peux faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Override public Object execute(ExecutionEvent event) throws ExecutionException { IEditorPart editorPart = HandlerUtil.getActiveEditor(event);
Voilà. Après, suffit d'utiliser un ProcessBuilder (ou Runtime.exec si tu veux) pour lancer la commande.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 IFile file = ((IFileEditorInput) editorPart.getEditorInput()) .getFile(); String absoluteFileName = file.getProject().getWorkspace().getRoot() .getLocation().makeAbsolute().append( fi.getFile().getFullPath()).toFile().getPath();
Ah, et pour afficher ça dans un menu/toolbar, tu peux passer par le point d'extension "org.eclipse.ui.menus"
Merci,
J'ai encore un petit problème de compréhension :
- un handler sera représenté par une classe ou quoi ? si oui, elle doit hériter de quoi dans les extensions que vous avez donné ?
- ProcessBuilder : pouvez -vous me donner une syntaxe d'utilisation ?
merci de faire un effort pour moi.
Partager