Je veux appeler une commande RCP dans le code, comme ceci:Commande RCP avec l'argument objet
IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
IHandlerService handlerService = (IHandlerService)window.getService(IHandlerService.class);
handlerService.executeCommand(cmdID, null);
Avec le code beaucoup plus, je peux appeler la commande avec un argument de chaîne par l'assemblage d'un objet Paramétrisation puis la construction d'une ParameterizedCommand
et ainsi de suite, mais la paramétrisation n'autorise que les valeurs de chaîne et ne peut pas être sous-classée.
Ce que je veux vraiment faire, c'est appeler la commande avec un objet en paramètre. Comment puis-je faire ceci?
Cela ne fonctionne pas. J'obtiens seulement une exception "ne peut pas être jeté à java.lang.String" si j'essaye d'ajouter un objet au lieu d'un String. – Chris
J'ai regardé cela, il semble que vous ayez aussi besoin de définir un ParemeterValueConverter pour convertir vos objets en Strings et en retour. Je trouve cela très peu pratique, tbh. Vous pourrez peut-être vous en sortir en utilisant HandlerUtil.getCurrentSelection (event) pour certains paramètres. –