use of org.freeplane.core.undo.IActor in project freeplane by freeplane.
the class DeleteUserStyleAction method actionPerformed.
public void actionPerformed(final ActionEvent e) {
final ModeController modeController = Controller.getCurrentModeController();
final Controller controller = modeController.getController();
final NodeModel selected = controller.getSelection().getSelected();
if (selected.depth() < 2) {
UITools.errorMessage(TextUtils.getText("can_not_delete_style_group"));
return;
}
final MapModel map = selected.getMap();
final MapStyleModel styleModel = MapStyleModel.getExtension(map);
final NodeModel styleNodeGroup = styleModel.getStyleNodeGroup(selected);
if (!((StyleTranslatedObject) styleNodeGroup.getUserObject()).getObject().equals("styles.user-defined")) {
UITools.errorMessage(TextUtils.getText("can_not_delete_predefined_style"));
return;
}
final MMapController mapController = (MMapController) modeController.getMapController();
mapController.deleteNode(selected);
final IActor actor = new IActor() {
public void undo() {
styleModel.addStyleNode(selected);
}
public String getDescription() {
return "DeleteStyle";
}
public void act() {
styleModel.removeStyleNode(selected);
}
};
Controller.getCurrentModeController().execute(actor, map);
}
use of org.freeplane.core.undo.IActor in project freeplane by freeplane.
the class MLinkController method setAlpha.
public void setAlpha(final ConnectorModel connector, final int alpha) {
final int oldAlpha = connector.getAlpha();
if (oldAlpha == alpha) {
return;
}
final IActor actor = new IActor() {
public void act() {
connector.setAlpha(alpha);
final NodeModel node = connector.getSource();
fireNodeConnectorChange(node, connector);
}
public String getDescription() {
return "setConnectorAlpha";
}
public void undo() {
connector.setAlpha(oldAlpha);
final NodeModel node = connector.getSource();
fireNodeConnectorChange(node, connector);
}
};
Controller.getCurrentModeController().execute(actor, connector.getSource().getMap());
}
use of org.freeplane.core.undo.IActor in project freeplane by freeplane.
the class MLinkController method setLink.
public void setLink(final NodeModel node, final URI argUri, final int linkType) {
final URI uri = relativeLink(argUri, node, linkType);
final IActor actor = new IActor() {
private URI oldlink;
private String oldTargetID;
public void act() {
NodeLinks links = NodeLinks.getLinkExtension(node);
if (links != null) {
oldlink = links.getHyperLink(node);
oldTargetID = links.removeLocalHyperLink(node);
} else {
links = NodeLinks.createLinkExtension(node);
}
if (uri != null && uri.toString().startsWith("#")) {
links.setLocalHyperlink(node, uri.toString().substring(1));
} else
links.setHyperLink(uri);
Controller.getCurrentModeController().getMapController().nodeChanged(node, NodeLinks.HYPERLINK_CHANGED, oldlink, uri);
}
public String getDescription() {
return "setLink";
}
public void undo() {
final NodeLinks links = NodeLinks.getLinkExtension(node);
URI undoneLink = links.getHyperLink(node);
links.setLocalHyperlink(node, oldTargetID);
links.setHyperLink(oldlink);
Controller.getCurrentModeController().getMapController().nodeChanged(node, NodeLinks.HYPERLINK_CHANGED, undoneLink, oldlink);
}
};
Controller.getCurrentModeController().execute(actor, node.getMap());
}
use of org.freeplane.core.undo.IActor in project freeplane by freeplane.
the class MLinkController method setConnectorDash.
public void setConnectorDash(final ConnectorModel arrowLink, final int[] dash) {
final int[] oldDash = arrowLink.getDash();
if (dash == oldDash || dash != null && dash.equals(oldDash)) {
return;
}
final IActor actor = new IActor() {
public void act() {
arrowLink.setDash(dash);
final NodeModel node = arrowLink.getSource();
fireNodeConnectorChange(node, arrowLink);
}
public String getDescription() {
return "setConnectorDash";
}
public void undo() {
arrowLink.setDash(oldDash);
final NodeModel node = arrowLink.getSource();
fireNodeConnectorChange(node, arrowLink);
}
};
Controller.getCurrentModeController().execute(actor, arrowLink.getSource().getMap());
}
use of org.freeplane.core.undo.IActor in project freeplane by freeplane.
the class MLinkController method removeArrowLink.
public void removeArrowLink(final ConnectorModel arrowLink) {
final IActor actor = new IActor() {
public void act() {
final NodeModel source = arrowLink.getSource();
final NodeLinks nodeLinks = NodeLinks.getLinkExtension(source);
nodeLinks.removeArrowlink(arrowLink);
fireNodeConnectorChange(source, arrowLink);
}
public String getDescription() {
return "removeArrowLink";
}
public void undo() {
final NodeModel source = arrowLink.getSource();
NodeLinks nodeLinks = NodeLinks.createLinkExtension(source);
nodeLinks.addArrowlink(arrowLink);
fireNodeConnectorChange(source, arrowLink);
}
};
Controller.getCurrentModeController().execute(actor, arrowLink.getSource().getMap());
}
Aggregations