emf commands

Status
Nicht offen für weitere Antworten.
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?
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();
	}
 

Wildcard

Top Contributor
Das hilft dir vielleicht:
Code:
IWorkbench workbench = YourAbstractUIPlugin.getDefault().getWorkbench();
IOperationHistory history = workbench.getOperationSupport().getOperationHistory();
 
G

Guest

Gast
nein nicht wirklich....dieser Aufruf:

history.add( (IUndoableOperation) subcommands);

bewirkt nichts. Ich arbeite ja auch mit den emf commands , also org.eclipse.emf.common.command.CompoundCommand......
 

Wildcard

Top Contributor
Die EMF Commands sind erstmal Eclipse unabhängig und daher auch nicht kompatibel zu den geforderten Interfaces.
AFAIK brauchst du also Wrapper Klassen wie zB EMFCommandOperation um etwas auf der Eclipse Undo History auszuführen.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben