G
Guest
Gast
Hallo zusammen...
Ich habe einen Dialog der einige commands als compound command ausführt (appendandexecute) und diese bei cancel mit undo rückgängig macht. Wenn ich allerdings OK drücke ist dieser command nicht redoable....Wie kriege ich den auf den CommandStack?
Ich habe einen Dialog der einige commands als compound command ausführt (appendandexecute) und diese bei cancel mit undo rückgängig macht. Wenn ich allerdings OK drücke ist dieser command nicht redoable....Wie kriege ich den auf den CommandStack?
Code:
........
subcommands = new CompoundCommand();
subcommands.setLabel("positioning");
System.out.println(" SetMatrixAction ");
this.sp = (ScenePart) (EObject) collection.iterator().next();
getCOG(sp);
PositioningDialog PD = new PositioningDialog(this, PlatformUI
.getWorkbench().getActiveWorkbenchWindow().getShell());
PD.setValues(sp, isOriginVisible(sp));
if (PD.open() == PositioningDialog.CANCEL) {
subcommands.undo();
Engine.getInstance().getCurrentViewport().refresh();
}else{ ....
Code:
public void somethingChangedInDialog(PositioningDialog PD) {
subcommands.appendAndExecute(createTranslationCommand(PD));
subcommands.appendAndExecute(createOrientationCommand(PD));
subcommands.appendAndExecute(createScaleCommand(PD));
subcommands.appendAndExecute(createOriginCommand(PD));
Engine.getInstance().getCurrentViewport().refresh();
}