Search in sources :

Example 16 with IActor

use of org.freeplane.core.undo.IActor in project freeplane by freeplane.

the class UndoableNamedElementCollection method add.

public void add(final T element) {
    final int currentElementIndex = collection.getCurrentElementIndex();
    IActor actor = new IActor() {

        @Override
        public String getDescription() {
            return "add";
        }

        @Override
        public void act() {
            collection.selectCurrentElement(currentElementIndex);
            collection.add(element);
        }

        @Override
        public void undo() {
            collection.selectCurrentElement(currentElementIndex + 1);
            collection.removeCurrentElement();
            collection.selectCurrentElement(currentElementIndex);
        }
    };
    controller.execute(actor, mapModel);
}
Also used : IActor(org.freeplane.core.undo.IActor)

Example 17 with IActor

use of org.freeplane.core.undo.IActor in project freeplane by freeplane.

the class PersistentNodeHook method undoableToggleHook.

public void undoableToggleHook(final NodeModel node, final IExtension extension) {
    final IActor actor = new ToggleHookActor(node, extension);
    Controller.getCurrentModeController().execute(actor, node.getMap());
}
Also used : IActor(org.freeplane.core.undo.IActor)

Example 18 with IActor

use of org.freeplane.core.undo.IActor in project freeplane by freeplane.

the class PersistentNodeHook method moveExtension.

public void moveExtension(ModeController modeController, MapModel sourceMap, MapModel targetMap) {
    final NodeModel sourceNode = sourceMap.getRootNode();
    final Class<? extends IExtension> extensionClass = getExtensionClass();
    final IExtension sourceExtension = sourceNode.getExtension(extensionClass);
    final NodeModel targetNode = targetMap.getRootNode();
    final IExtension targetExtension = targetNode.getExtension(extensionClass);
    if (sourceExtension == targetExtension)
        return;
    IActor actor = new IActor() {

        @Override
        public void act() {
            if (targetExtension != null)
                targetNode.removeExtension(targetExtension);
            if (sourceExtension != null)
                targetNode.addExtension(sourceExtension);
        }

        @Override
        public void undo() {
            if (sourceExtension != null)
                targetNode.removeExtension(sourceExtension);
            if (targetExtension != null)
                targetNode.addExtension(targetExtension);
        }

        @Override
        public String getDescription() {
            return "move extension " + extensionClass.getName();
        }
    };
    modeController.execute(actor, targetMap);
}
Also used : NodeModel(org.freeplane.features.map.NodeModel) IExtension(org.freeplane.core.extension.IExtension) IActor(org.freeplane.core.undo.IActor)

Example 19 with IActor

use of org.freeplane.core.undo.IActor in project freeplane by freeplane.

the class MNodeStyleController method createOwnSizeModel.

private NodeSizeModel createOwnSizeModel(final NodeModel node) {
    {
        final NodeSizeModel sizeModel = NodeSizeModel.getModel(node);
        if (sizeModel != null) {
            return sizeModel;
        }
    }
    final ModeController modeController = Controller.getCurrentModeController();
    final IActor actor = new IActor() {

        public void act() {
            node.addExtension(new NodeSizeModel());
        }

        public String getDescription() {
            return null;
        }

        public void undo() {
            node.removeExtension(NodeSizeModel.class);
        }
    };
    modeController.execute(actor, node.getMap());
    return NodeSizeModel.getModel(node);
}
Also used : NodeSizeModel(org.freeplane.features.nodestyle.NodeSizeModel) IActor(org.freeplane.core.undo.IActor) ModeController(org.freeplane.features.mode.ModeController)

Example 20 with IActor

use of org.freeplane.core.undo.IActor in project freeplane by freeplane.

the class MNodeStyleController method setItalic.

/**
 * @param italic
 */
public void setItalic(final NodeModel node, final Boolean italic) {
    final Boolean oldItalic = NodeStyleModel.isItalic(node);
    if (oldItalic == italic || oldItalic != null && oldItalic.equals(italic)) {
        return;
    }
    createOwnStyleModel(node);
    final ModeController modeController = Controller.getCurrentModeController();
    final IActor actor = new IActor() {

        public void act() {
            final NodeStyleModel styleModel = NodeStyleModel.getModel(node);
            styleModel.setItalic(italic);
            Controller.getCurrentModeController().getMapController().nodeChanged(node);
        }

        public String getDescription() {
            return "setItalic";
        }

        public void undo() {
            final NodeStyleModel styleModel = NodeStyleModel.getModel(node);
            styleModel.setItalic(oldItalic);
            Controller.getCurrentModeController().getMapController().nodeChanged(node);
        }
    };
    modeController.execute(actor, node.getMap());
}
Also used : NodeStyleModel(org.freeplane.features.nodestyle.NodeStyleModel) IActor(org.freeplane.core.undo.IActor) ModeController(org.freeplane.features.mode.ModeController)

Aggregations

IActor (org.freeplane.core.undo.IActor)123 NodeModel (org.freeplane.features.map.NodeModel)30 ModeController (org.freeplane.features.mode.ModeController)28 MapModel (org.freeplane.features.map.MapModel)27 MapController (org.freeplane.features.map.MapController)11 AttributeRegistry (org.freeplane.features.attribute.AttributeRegistry)10 Color (java.awt.Color)8 Point (java.awt.Point)6 MMapController (org.freeplane.features.map.mindmapmode.MMapController)6 NodeStyleModel (org.freeplane.features.nodestyle.NodeStyleModel)6 Controller (org.freeplane.features.mode.Controller)5 IStyle (org.freeplane.features.styles.IStyle)5 MapStyleModel (org.freeplane.features.styles.MapStyleModel)5 NoSuchElementException (java.util.NoSuchElementException)4 LengthUnits (org.freeplane.core.ui.LengthUnits)4 AttributeRegistryElement (org.freeplane.features.attribute.AttributeRegistryElement)4 Date (java.util.Date)3 IExtension (org.freeplane.core.extension.IExtension)3 IUndoHandler (org.freeplane.core.undo.IUndoHandler)3 EdgeModel (org.freeplane.features.edge.EdgeModel)3