Search in sources :

Example 11 with MapController

use of org.freeplane.features.map.MapController in project freeplane by freeplane.

the class LogicalStyleController method createBuilder.

private void createBuilder() {
    ModeController modeController = Controller.getCurrentModeController();
    final MapController mapController = modeController.getMapController();
    final ReadManager readManager = mapController.getReadManager();
    readManager.addAttributeHandler(NodeBuilder.XML_NODE, "STYLE_REF", new IAttributeHandler() {

        public void setAttribute(final Object node, final String value) {
            final LogicalStyleModel extension = LogicalStyleModel.createExtension((NodeModel) node);
            extension.setStyle(StyleFactory.create(value));
        }
    });
    readManager.addAttributeHandler(NodeBuilder.XML_NODE, "LOCALIZED_STYLE_REF", new IAttributeHandler() {

        public void setAttribute(final Object node, final String value) {
            final LogicalStyleModel extension = LogicalStyleModel.createExtension((NodeModel) node);
            extension.setStyle(StyleFactory.create(NamedObject.format(value)));
        }
    });
    final WriteManager writeManager = mapController.getWriteManager();
    writeManager.addAttributeWriter(NodeBuilder.XML_NODE, new IAttributeWriter() {

        public void writeAttributes(final ITreeWriter writer, final Object node, final String tag) {
            if (!NodeWriter.shouldWriteSharedContent(writer))
                return;
            final LogicalStyleModel extension = LogicalStyleModel.getExtension((NodeModel) node);
            if (extension == null) {
                return;
            }
            final IStyle style = extension.getStyle();
            if (style == null) {
                return;
            }
            final String value = StyleNamedObject.toKeyString(style);
            if (style instanceof StyleNamedObject) {
                writer.addAttribute("LOCALIZED_STYLE_REF", value);
            } else {
                writer.addAttribute("STYLE_REF", value);
            }
        }
    });
}
Also used : IAttributeWriter(org.freeplane.core.io.IAttributeWriter) IAttributeHandler(org.freeplane.core.io.IAttributeHandler) ModeController(org.freeplane.features.mode.ModeController) MapController(org.freeplane.features.map.MapController) NodeModel(org.freeplane.features.map.NodeModel) ReadManager(org.freeplane.core.io.ReadManager) ITreeWriter(org.freeplane.core.io.ITreeWriter) NamedObject(org.freeplane.core.resources.NamedObject) WriteManager(org.freeplane.core.io.WriteManager)

Example 12 with MapController

use of org.freeplane.features.map.MapController in project freeplane by freeplane.

the class LogicalStyleController method registerChangeListener.

private void registerChangeListener() {
    ModeController modeController = Controller.getCurrentModeController();
    final MapController mapController = modeController.getMapController();
    mapController.addMapChangeListener(new IMapChangeListener() {

        public void onPreNodeMoved(NodeModel oldParent, int oldIndex, NodeModel newParent, NodeModel child, int newIndex) {
            clearCache();
        }

        public void onPreNodeDelete(NodeModel oldParent, NodeModel selectedNode, int index) {
            clearCache();
        }

        public void onNodeMoved(NodeModel oldParent, int oldIndex, NodeModel newParent, NodeModel child, int newIndex) {
            clearCache();
        }

        public void onNodeInserted(NodeModel parent, NodeModel child, int newIndex) {
            clearCache();
        }

        public void onNodeDeleted(NodeModel parent, NodeModel child, int index) {
            clearCache();
        }

        public void mapChanged(MapChangeEvent event) {
            clearCache();
        }
    });
    mapController.addNodeChangeListener(new INodeChangeListener() {

        public void nodeChanged(NodeChangeEvent event) {
            clearCache();
        }
    });
}
Also used : NodeChangeEvent(org.freeplane.features.map.NodeChangeEvent) NodeModel(org.freeplane.features.map.NodeModel) IMapChangeListener(org.freeplane.features.map.IMapChangeListener) INodeChangeListener(org.freeplane.features.map.INodeChangeListener) ModeController(org.freeplane.features.mode.ModeController) MapChangeEvent(org.freeplane.features.map.MapChangeEvent) MapController(org.freeplane.features.map.MapController)

Example 13 with MapController

use of org.freeplane.features.map.MapController in project freeplane by freeplane.

the class MNodeStyleController method setMaxNodeWidth.

public void setMaxNodeWidth(final NodeModel node, final int maxNodeWidth) {
    final NodeSizeModel sizeModel = createOwnSizeModel(node);
    final int oldValue = NodeSizeModel.getNodeMaxNodeWidth(node);
    final IActor actor = new IActor() {

        public void act() {
            sizeModel.setMaxNodeWidth(maxNodeWidth);
            final MapController mapController = getModeController().getMapController();
            mapController.nodeChanged(node);
        }

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

        public void undo() {
            sizeModel.setMaxNodeWidth(oldValue);
            final MapController mapController = getModeController().getMapController();
            mapController.nodeChanged(node);
        }
    };
    getModeController().execute(actor, node.getMap());
    final int minNodeWidth = getMinWidth(node);
    if (maxNodeWidth < minNodeWidth) {
        setMinNodeWidth(node, maxNodeWidth);
    }
}
Also used : NodeSizeModel(org.freeplane.features.nodestyle.NodeSizeModel) IActor(org.freeplane.core.undo.IActor) MapController(org.freeplane.features.map.MapController)

Example 14 with MapController

use of org.freeplane.features.map.MapController in project freeplane by freeplane.

the class MNodeStyleController method setNodeNumbering.

public void setNodeNumbering(final NodeModel node, final Boolean enableNodeNumbering) {
    final ModeController modeController = Controller.getCurrentModeController();
    final Boolean oldValue = NodeStyleModel.getNodeNumbering(node);
    final IActor actor = new IActor() {

        public void act() {
            NodeStyleModel.setNodeNumbering(node, enableNodeNumbering);
            final MapController mapController = modeController.getMapController();
            mapController.setSaved(node.getMap(), false);
            mapController.delayedNodeRefresh(node, NodeStyleController.NODE_NUMBERING, oldValue, enableNodeNumbering);
        }

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

        public void undo() {
            NodeStyleModel.setNodeNumbering(node, oldValue);
            final MapController mapController = modeController.getMapController();
            mapController.setSaved(node.getMap(), false);
            modeController.getMapController().delayedNodeRefresh(node, NodeStyleController.NODE_NUMBERING, enableNodeNumbering, oldValue);
        }
    };
    modeController.execute(actor, node.getMap());
}
Also used : IActor(org.freeplane.core.undo.IActor) ModeController(org.freeplane.features.mode.ModeController) MapController(org.freeplane.features.map.MapController)

Example 15 with MapController

use of org.freeplane.features.map.MapController in project freeplane by freeplane.

the class MTextController method edit.

public void edit(final NodeModel nodeModel, final NodeModel prevSelectedModel, final boolean isNewNode, final boolean parentFolded, final boolean editLong) {
    if (nodeModel == null || mCurrentEditDialog != null) {
        return;
    }
    final Controller controller = Controller.getCurrentController();
    if (controller.getMap() != nodeModel.getMap()) {
        return;
    }
    final IMapViewManager viewController = controller.getMapViewManager();
    final Component map = viewController.getMapViewComponent();
    map.validate();
    map.invalidate();
    final Component node = viewController.getComponent(nodeModel);
    if (node == null) {
        return;
    }
    node.requestFocus();
    stopEditing();
    if (isNewNode && !eventQueue.isActive() && !ResourceController.getResourceController().getBooleanProperty("display_inline_editor_for_all_new_nodes")) {
        keyEventDispatcher = new EditEventDispatcher(Controller.getCurrentModeController(), nodeModel, prevSelectedModel, isNewNode, parentFolded, editLong);
        keyEventDispatcher.install();
        return;
    }
    ;
    final IEditControl editControl = new IEditControl() {

        public void cancel() {
            if (isNewNode && nodeModel.getMap().equals(controller.getMap())) {
                if (nodeModel.getParentNode() != null) {
                    controller.getSelection().selectAsTheOnlyOneSelected(nodeModel);
                    final MModeController modeController = (MModeController) Controller.getCurrentModeController();
                    modeController.undo();
                    modeController.resetRedo();
                }
                final MapController mapController = Controller.getCurrentModeController().getMapController();
                mapController.select(prevSelectedModel);
                if (parentFolded) {
                    mapController.setFolded(prevSelectedModel, true);
                }
            }
            stop();
        }

        private void stop() {
            Controller.getCurrentModeController().setBlocked(false);
            viewController.obtainFocusForSelected();
            mCurrentEditDialog = null;
        }

        public void ok(final String text) {
            String processedText = makePlainIfNoFormattingFound(text);
            setGuessedNodeObject(nodeModel, processedText);
            stop();
        }

        public void split(final String newText, final int position) {
            splitNode(nodeModel, position, newText);
            viewController.obtainFocusForSelected();
            stop();
        }

        public boolean canSplit() {
            return true;
        }

        public EditedComponent getEditType() {
            return EditedComponent.TEXT;
        }
    };
    mCurrentEditDialog = createEditor(nodeModel, editControl, nodeModel.getText(), isNewNode, editLong, true);
    final JFrame frame = controller.getViewController().getJFrame();
    mCurrentEditDialog.show(frame);
}
Also used : IMapViewManager(org.freeplane.features.ui.IMapViewManager) JFrame(javax.swing.JFrame) MMapController(org.freeplane.features.map.mindmapmode.MMapController) MapController(org.freeplane.features.map.MapController) MIconController(org.freeplane.features.icon.mindmapmode.MIconController) IconController(org.freeplane.features.icon.IconController) Controller(org.freeplane.features.mode.Controller) TextController(org.freeplane.features.text.TextController) MLinkController(org.freeplane.features.link.mindmapmode.MLinkController) NodeStyleController(org.freeplane.features.nodestyle.NodeStyleController) FormatController(org.freeplane.features.format.FormatController) ResourceController(org.freeplane.core.resources.ResourceController) ViewController(org.freeplane.features.ui.ViewController) LinkController(org.freeplane.features.link.LinkController) ModeController(org.freeplane.features.mode.ModeController) MNodeStyleController(org.freeplane.features.nodestyle.mindmapmode.MNodeStyleController) MModeController(org.freeplane.features.mode.mindmapmode.MModeController) ScannerController(org.freeplane.features.format.ScannerController) EditedComponent(org.freeplane.features.text.mindmapmode.EditNodeBase.EditedComponent) Component(java.awt.Component) IEditControl(org.freeplane.features.text.mindmapmode.EditNodeBase.IEditControl) MModeController(org.freeplane.features.mode.mindmapmode.MModeController) MMapController(org.freeplane.features.map.mindmapmode.MMapController) MapController(org.freeplane.features.map.MapController)

Aggregations

MapController (org.freeplane.features.map.MapController)60 NodeModel (org.freeplane.features.map.NodeModel)30 ModeController (org.freeplane.features.mode.ModeController)22 Controller (org.freeplane.features.mode.Controller)16 IActor (org.freeplane.core.undo.IActor)13 MapModel (org.freeplane.features.map.MapModel)10 LinkController (org.freeplane.features.link.LinkController)9 TextController (org.freeplane.features.text.TextController)9 MMapController (org.freeplane.features.map.mindmapmode.MMapController)8 MModeController (org.freeplane.features.mode.mindmapmode.MModeController)8 NodeStyleController (org.freeplane.features.nodestyle.NodeStyleController)8 ResourceController (org.freeplane.core.resources.ResourceController)7 IconController (org.freeplane.features.icon.IconController)7 INodeSelectionListener (org.freeplane.features.map.INodeSelectionListener)7 ViewController (org.freeplane.features.ui.ViewController)7 URI (java.net.URI)6 MLinkController (org.freeplane.features.link.mindmapmode.MLinkController)6 MNodeStyleController (org.freeplane.features.nodestyle.mindmapmode.MNodeStyleController)6 JPopupMenu (javax.swing.JPopupMenu)5 CloudController (org.freeplane.features.cloud.CloudController)5