use of org.freeplane.core.undo.IActor in project freeplane by freeplane.
the class MTextController method setNodeObject.
public void setNodeObject(final NodeModel node, final Object newObject) {
if (newObject == null) {
setNodeObject(node, "");
return;
}
final Object oldText = node.getUserObject();
if (oldText.equals(newObject)) {
return;
}
final IActor actor = new IActor() {
@Override
public void act() {
if (!oldText.equals(newObject)) {
node.setUserObject(newObject);
Controller.getCurrentModeController().getMapController().nodeChanged(node, NodeModel.NODE_TEXT, oldText, newObject);
}
}
@Override
public String getDescription() {
return "setNodeText";
}
@Override
public void undo() {
if (!oldText.equals(newObject)) {
node.setUserObject(oldText);
Controller.getCurrentModeController().getMapController().nodeChanged(node, NodeModel.NODE_TEXT, newObject, oldText);
}
}
};
Controller.getCurrentModeController().execute(actor, node.getMap());
}
use of org.freeplane.core.undo.IActor in project freeplane by freeplane.
the class LatexNodeHook method setEquationUndoable.
void setEquationUndoable(final LatexExtension model, final String newEquation) {
final String equation = model.getEquation();
if (equation.equals(newEquation)) {
return;
}
final IActor actor = new IActor() {
private final String oldEquation = equation;
public void act() {
model.setEquation(newEquation);
final MapModel map = Controller.getCurrentModeController().getController().getMap();
Controller.getCurrentModeController().getMapController().setSaved(map, false);
}
public String getDescription() {
return "setLatexEquationUndoable";
}
public void undo() {
model.setEquation(oldEquation);
}
};
Controller.getCurrentModeController().execute(actor, Controller.getCurrentModeController().getController().getMap());
}
use of org.freeplane.core.undo.IActor in project freeplane by freeplane.
the class OpenMapsNodeHook method setLocationChoiceUndoable.
private void setLocationChoiceUndoable(final OpenMapsExtension extension, final ICoordinate locationChoosen, final int zoomChoosen) {
final Coordinate currentLocation = extension.getLocation();
final int currentZoom = extension.getZoom();
if (!currentLocation.equals(locationChoosen)) {
final IActor actor = createUndoActor(extension, locationChoosen, currentLocation, zoomChoosen, currentZoom);
Controller.getCurrentModeController().execute(actor, Controller.getCurrentModeController().getController().getMap());
}
}
use of org.freeplane.core.undo.IActor in project freeplane by freeplane.
the class MEdgeController method setWidth.
public void setWidth(final NodeModel node, final int width) {
final ModeController modeController = Controller.getCurrentModeController();
final int oldWidth = EdgeModel.createEdgeModel(node).getWidth();
if (width == oldWidth) {
return;
}
final IActor actor = new IActor() {
public void act() {
EdgeModel.createEdgeModel(node).setWidth(width);
modeController.getMapController().nodeChanged(node);
edgeWidthRefresh(node);
}
private void edgeWidthRefresh(final NodeModel node) {
for (final NodeModel child : modeController.getMapController().childrenUnfolded(node)) {
if (child.getViewers().isEmpty())
continue;
final EdgeModel edge = EdgeModel.getModel(child);
if (edge == null || edge.getWidth() == EdgeModel.WIDTH_PARENT) {
modeController.getMapController().nodeRefresh(child);
edgeWidthRefresh(child);
}
}
}
public String getDescription() {
return "setWidth";
}
public void undo() {
EdgeModel.createEdgeModel(node).setWidth(oldWidth);
modeController.getMapController().nodeChanged(node);
edgeWidthRefresh(node);
}
};
modeController.execute(actor, node.getMap());
}
use of org.freeplane.core.undo.IActor in project freeplane by freeplane.
the class MEdgeController method setColor.
public void setColor(final NodeModel node, final Color color) {
final ModeController modeController = Controller.getCurrentModeController();
final Color oldColor = EdgeModel.createEdgeModel(node).getColor();
if (color == oldColor || color != null && color.equals(oldColor)) {
return;
}
final IActor actor = new IActor() {
public void act() {
EdgeModel.createEdgeModel(node).setColor(color);
modeController.getMapController().nodeChanged(node);
}
public String getDescription() {
return "setColor";
}
public void undo() {
EdgeModel.createEdgeModel(node).setColor(oldColor);
modeController.getMapController().nodeChanged(node);
}
};
modeController.execute(actor, node.getMap());
}
Aggregations