DarkWizzard
Mitglied
Hallo!
Ich hab mal wieder ein kleines Problem mit Eclipse.
Ich lege Commands programmatisch an. Das klappt gut wenn ich einen komplett neuen Befehl mache und bei manchen die schon so drin sind, wie z.B. beim Kopieren-Befehl:
Das klappt. Wenn ich das aber für den Undo-Befehl machen will klappt das anscheinend nicht, auf jeden Fall ist der immer ausgegraut. Hat jemand ne Idee?
Schonmal vielen Dank im vorraus!
PS.: Ich verweise noch einmal auf mein anderes Problem was vermutlich noch etwas vertrickter ist und bei dem anscheinend keiner ne Idee hat: Eclipse - programmatisches Anlegen von Menüeinträgen vor Pluginstart
Ich hab mal wieder ein kleines Problem mit Eclipse.
Ich lege Commands programmatisch an. Das klappt gut wenn ich einen komplett neuen Befehl mache und bei manchen die schon so drin sind, wie z.B. beim Kopieren-Befehl:
Code:
ICommandService cmdService = (ICommandService) getSite().getService(ICommandService.class);
IHandlerService handlerService = (IHandlerService)getSite().getService(IHandlerService.class);
Command cmd = cmdService.getCommand("org.eclipse.ui.edit.copy");
if (!cmd.isDefined()) {
Categorie cat = cmdService.getCategory("newCommands");
if (!cat.isDefined()) {
cat.define("newCommands", "own created commands");
}
cmd.define("Kopieren", "Kopieren", cat);
} else {
IHandler handler = new AbstractHandler() {
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
foo();
return null;
}
};
handlerService.activateHandler("org.eclipse.ui.edit.copy", handler);
}
Das klappt. Wenn ich das aber für den Undo-Befehl machen will klappt das anscheinend nicht, auf jeden Fall ist der immer ausgegraut. Hat jemand ne Idee?
Code:
ICommandService cmdService = (ICommandService) getSite().getService(ICommandService.class);
IHandlerService handlerService = (IHandlerService)getSite().getService(IHandlerService.class);
Command cmd = cmdService.getCommand("org.eclipse.ui.edit.undo");
if (!cmd.isDefined()) {
Categorie cat = cmdService.getCategory("newCommands");
if (!cat.isDefined()) {
cat.define("newCommands", "own created commands");
}
cmd.define("Undo", "Undo", cat);
} else {
IHandler handler = new AbstractHandler() {
@Override
public Object execute(ExecutionEvent event) throws ExecutionException {
foo();
return null;
}
};
handlerService.activateHandler("org.eclipse.ui.edit.undo", handler);
}
Schonmal vielen Dank im vorraus!
PS.: Ich verweise noch einmal auf mein anderes Problem was vermutlich noch etwas vertrickter ist und bei dem anscheinend keiner ne Idee hat: Eclipse - programmatisches Anlegen von Menüeinträgen vor Pluginstart