package org.freeplane.features.styles.mindmapmode;
import java.awt.event.ActionEvent;
import org.freeplane.core.ui.AFreeplaneAction;
import org.freeplane.features.map.NodeModel;
import org.freeplane.features.mode.Controller;
import org.freeplane.features.styles.IStyle;
import org.freeplane.features.styles.LogicalStyleController;
import org.freeplane.features.styles.LogicalStyleKeys;
import org.freeplane.features.styles.MapStyleModel;
public class RedefineStyleAction extends AFreeplaneAction {
private static final long serialVersionUID = 1L;
public RedefineStyleAction() {
super("RedefineStyleAction");
}
public void actionPerformed(final ActionEvent e) {
final NodeModel node = Controller.getCurrentController().getSelection().getSelected();
final IStyle style = LogicalStyleController.getController().getFirstStyle(node);
final MapStyleModel extension = MapStyleModel.getExtension(node.getMap());
final NodeModel styleNode = extension.getStyleNode(style);
if(styleNode == null)
return;
Controller.getCurrentModeController().undoableCopyExtensions(LogicalStyleKeys.NODE_STYLE, node, styleNode);
Controller.getCurrentModeController().undoableRemoveExtensions(LogicalStyleKeys.NODE_STYLE, node, node);
LogicalStyleController.getController().refreshMap(node.getMap());
}
}