Search in sources :

Example 21 with MapController

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

the class NodeTooltipManager method getSharedInstance.

public static NodeTooltipManager getSharedInstance(ModeController modeController) {
    {
        final NodeTooltipManager instance = modeController.getExtension(NodeTooltipManager.class);
        if (instance != null) {
            return instance;
        }
    }
    final NodeTooltipManager instance = new NodeTooltipManager();
    final int maxWidth = ResourceController.getResourceController().getIntProperty("toolTipManager.max_tooltip_width", Integer.MAX_VALUE);
    NodeTooltip.setMaximumWidth(maxWidth);
    setTooltipDelays(instance);
    UIManager.put("PopupMenu.consumeEventOnClose", Boolean.FALSE);
    ResourceController.getResourceController().addPropertyChangeListener(new IFreeplanePropertyListener() {

        public void propertyChanged(final String propertyName, final String newValue, final String oldValue) {
            if (propertyName.startsWith(TOOL_TIP_MANAGER)) {
                setTooltipDelays(instance);
            }
        }
    });
    IMapChangeListener mapChangeListener = new AMapChangeListenerAdapter() {

        @Override
        public void onNodeDeleted(NodeModel parent, NodeModel child, int index) {
            instance.hideTipWindow();
        }

        @Override
        public void onNodeInserted(NodeModel parent, NodeModel child, int newIndex) {
            instance.hideTipWindow();
        }

        @Override
        public void onNodeMoved(NodeModel oldParent, int oldIndex, NodeModel newParent, NodeModel child, int newIndex) {
            instance.hideTipWindow();
        }
    };
    MapController mapController = modeController.getMapController();
    mapController.addMapChangeListener(mapChangeListener);
    INodeSelectionListener nodeSelectionListener = new INodeSelectionListener() {

        public void onSelect(NodeModel node) {
            NodeView view = (NodeView) SwingUtilities.getAncestorOfClass(NodeView.class, instance.insideComponent);
            if (view != null && node.equals(view.getModel()))
                return;
            instance.hideTipWindow();
        }

        public void onDeselect(NodeModel node) {
        }
    };
    mapController.addNodeSelectionListener(nodeSelectionListener);
    modeController.addExtension(NodeTooltipManager.class, instance);
    return instance;
}
Also used : INodeSelectionListener(org.freeplane.features.map.INodeSelectionListener) NodeModel(org.freeplane.features.map.NodeModel) IFreeplanePropertyListener(org.freeplane.core.resources.IFreeplanePropertyListener) IMapChangeListener(org.freeplane.features.map.IMapChangeListener) AMapChangeListenerAdapter(org.freeplane.features.map.AMapChangeListenerAdapter) MapController(org.freeplane.features.map.MapController)

Example 22 with MapController

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

the class NodeIdHighLighter method deHighlight.

public void deHighlight() {
    if (originallySelectedNode == null)
        return;
    final Controller controller = Controller.getCurrentController();
    if (controller == null)
        return;
    final MapController mapController = controller.getModeController().getMapController();
    mapController.displayNode(originallySelectedNode);
    mapController.select(originallySelectedNode);
    foldOriginallyFolded(mapController);
    originallySelectedNode = null;
    pane.setToolTipText(null);
}
Also used : MapController(org.freeplane.features.map.MapController) Controller(org.freeplane.features.mode.Controller) MapController(org.freeplane.features.map.MapController)

Example 23 with MapController

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

the class NodeIdHighLighter method handle.

private boolean handle(SyntaxDocument doc, Token token) {
    final Matcher matcher = nodeIdPattern.matcher(token.getText(doc));
    if (matcher.matches()) {
        String id = matcher.group(1);
        final NodeModel node = Controller.getCurrentController().getMap().getNodeForID(id);
        if (node != null) {
            final MapController mapController = Controller.getCurrentModeController().getMapController();
            final NodeModel selectedNode = mapController.getSelectedNode();
            if (node.equals(selectedNode)) {
                return true;
            }
            NodeModel originallySelectedNode = this.originallySelectedNode;
            if (originallySelectedNode == null)
                originallySelectedNode = mapController.getSelectedNode();
            else {
                deHighlight();
            }
            this.originallySelectedNode = originallySelectedNode;
            mapController.displayNode(node, nodesOriginallyFolded);
            mapController.select(node);
            pane.setToolTipText(node.getText());
            return true;
        } else {
            pane.setToolTipText(// 
            "<html><body bgcolor='#CC0000'>" + TextUtils.format(getResourceKey("node_is_not_defined"), id) + "</body></html>");
        }
    } else {
        deHighlight();
    }
    return false;
}
Also used : NodeModel(org.freeplane.features.map.NodeModel) Matcher(java.util.regex.Matcher) MapController(org.freeplane.features.map.MapController)

Example 24 with MapController

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

the class MNodeStyleController method setBorderWidthMatchesEdgeWidth.

public void setBorderWidthMatchesEdgeWidth(final NodeModel node, final Boolean borderWidthMatchesEdgeWidth) {
    final Boolean oldBorderWidthMatchesEdgeWidth = NodeBorderModel.getBorderWidthMatchesEdgeWidth(node);
    final IActor actor = new IActor() {

        public void act() {
            NodeBorderModel.setBorderWidthMatchesEdgeWidth(node, borderWidthMatchesEdgeWidth);
            final MapController mapController = getModeController().getMapController();
            mapController.nodeChanged(node);
        }

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

        public void undo() {
            NodeBorderModel.setBorderWidthMatchesEdgeWidth(node, oldBorderWidthMatchesEdgeWidth);
            final MapController mapController = getModeController().getMapController();
            mapController.nodeChanged(node);
        }
    };
    getModeController().execute(actor, node.getMap());
}
Also used : IActor(org.freeplane.core.undo.IActor) MapController(org.freeplane.features.map.MapController)

Example 25 with MapController

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

the class MNodeStyleController method setBorderColor.

public void setBorderColor(final NodeModel node, final Color borderColor) {
    final Color oldBorderColor = NodeBorderModel.getBorderColor(node);
    final IActor actor = new IActor() {

        public void act() {
            NodeBorderModel.setBorderColor(node, borderColor);
            final MapController mapController = getModeController().getMapController();
            mapController.nodeChanged(node);
        }

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

        public void undo() {
            NodeBorderModel.setBorderColor(node, oldBorderColor);
            final MapController mapController = getModeController().getMapController();
            mapController.nodeChanged(node);
        }
    };
    getModeController().execute(actor, node.getMap());
}
Also used : Color(java.awt.Color) IActor(org.freeplane.core.undo.IActor) 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