devexpress-diagram
Version:
DevExpress Diagram Control
26 lines (23 loc) • 1 kB
text/typescript
import { HistoryItem } from "../HistoryItem";
import { ModelManipulator } from "../../Model/ModelManipulator";
import { ShapeParameters } from "../../Model/Shapes/ShapeParameters";
import { ItemKey } from "../../Model/DiagramItem";
export class ChangeShapeParametersHistoryItem extends HistoryItem {
parameters: ShapeParameters;
oldParameters: ShapeParameters;
shapeKey: ItemKey;
constructor(shapeKey: ItemKey, parameters: ShapeParameters) {
super();
this.shapeKey = shapeKey;
this.parameters = parameters;
}
redo(manipulator: ModelManipulator) {
const shape = manipulator.model.findShape(this.shapeKey);
this.oldParameters = shape.parameters.clone();
manipulator.changeShapeParameters(shape, this.parameters);
}
undo(manipulator: ModelManipulator) {
const shape = manipulator.model.findShape(this.shapeKey);
manipulator.changeShapeParameters(shape, this.oldParameters);
}
}