Package org.freeplane.features.map

Examples of org.freeplane.features.map.NodeModel


      findGridPoint(point);
      UITools.convertPointToAncestor(nodeV, point, JScrollPane.class);
      ModeController c = Controller.getCurrentController().getModeController();
      final Point dragNextPoint = point;
      if (!Compat.isCtrlEvent(e)) {
        final NodeModel node = nodeV.getModel();
        final LocationModel locationModel = LocationModel.createLocationModel(node);
        final int hGapChange = getHGapChange(dragNextPoint, node);
        if(hGapChange != 0){
          locationModel.setHGap(originalHGap + hGapChange);
        }
        final int shiftYChange = getNodeShiftYChange(dragNextPoint, node);
        if(shiftYChange != 0){
          locationModel.setShiftY(originalShiftY + shiftYChange);
        }
        if(hGapChange != 0 || shiftYChange != 0)
          c.getMapController().nodeRefresh(node);
        else
          return;
      }
      else {
        final NodeModel parentNode = nodeV.getVisibleParentView().getModel();
        final int vGapChange = getVGapChange(dragNextPoint, parentNode);
        if(vGapChange != 0){
          LocationModel.createLocationModel(parentNode).setVGap(Math.max(0, originalParentVGap - vGapChange));
          final MapController mapController = c.getMapController();
          mapController.nodeRefresh(parentNode);
View Full Code Here


    if (!isDragActive()) {
      super.mouseReleased(e);
      return;
    }
    final NodeView nodeV = getNodeView(e);
    final NodeModel node = nodeV.getModel();
    final ModeController modeController = nodeV.getMap().getModeController();
    final NodeModel parentNode = nodeV.getModel().getParentNode();
    final int parentVGap = LocationModel.getModel(parentNode).getVGap();
    int hgap = LocationModel.getModel(node).getHGap();
    final int shiftY = LocationModel.getModel(node).getShiftY();
    adjustNodeIndices(nodeV);
    resetPositions(node);
View Full Code Here

    stopDrag();
  }

  private void adjustNodeIndices(final NodeView nodeV) {
    NodeModel[] selectedsBackup = null;
    final NodeModel node = nodeV.getModel();
    if (FreeNode.isFreeNode(node)) {
      selectedsBackup = adjustNodeIndexBackupSelection(nodeV, selectedsBackup);
    }
    else {
      final MapView map = nodeV.getMap();
      final NodeModel[] siblingNodes = node.getParentNode().getChildren().toArray(new NodeModel[] {});
      for (NodeModel sibling : siblingNodes) {
        if (FreeNode.isFreeNode(sibling)) {
          final NodeView siblingV = map.getNodeView(sibling);
          selectedsBackup = adjustNodeIndexBackupSelection(siblingV, selectedsBackup);
        }
View Full Code Here

      controller.getSelection().replaceSelection(selectedsBackup);
    }
  }

  private NodeModel[] adjustNodeIndexBackupSelection(final NodeView nodeV, NodeModel[] selectedsBackup) {
    final NodeModel node = nodeV.getModel();
    boolean isLeft = nodeV.isLeft();
    final int newIndex = calculateNewNodeIndex(nodeV, isLeft, 0, node.getParentNode().getChildCount());
    if (newIndex != -1) {
      final ModeController modeController = nodeV.getMap().getModeController();
      MMapController mapController = (MMapController) modeController.getMapController();
      if (selectedsBackup == null) {
        final Collection<NodeModel> selecteds = mapController.getSelectedNodes();
        selectedsBackup = selecteds.toArray(new NodeModel[selecteds.size()]);
      }
      mapController.moveNode(node, node.getParentNode(), newIndex, isLeft, false);
    }
    return selectedsBackup;
  }
View Full Code Here

  public int getRefX(final NodeView node) {
    return node.getContent().getX() + node.getContent().getWidth() / 2;
  }

  private int calculateNewNodeIndex(final NodeView nodeV, final boolean left, final int start, final int end) {
    final NodeModel node = nodeV.getModel();
    if (SummaryNode.isSummaryNode(node))
      return -1;
    final int nodeY = getRefY(nodeV);
    final NodeView parent = nodeV.getParentView();
    int newIndex = 0;
View Full Code Here

          editHandler.edit(e, FirstAction.EDIT_CURRENT, false);
        }
        return;
      case KeyEvent.VK_CONTEXT_MENU:
        final ModeController modeController = Controller.getCurrentModeController();
        final NodeModel node = Controller.getCurrentModeController().getMapController().getSelectedNode();
        final NodeView nodeView = mapView.getNodeView(node);
        final JPopupMenu popupmenu = modeController.getUserInputListenerFactory().getNodePopupMenu();
        if (popupmenu != null) {
          popupmenu.addHierarchyListener(new ControllerPopupMenuListener());
          final MainView mainView = nodeView.getMainView();
View Full Code Here

  }

  // Node: R/W
  public Proxy.Node createChild() {
    final MMapController mapController = (MMapController) getModeController().getMapController();
    final NodeModel newNodeModel = new NodeModel(getDelegate().getMap());
    mapController.insertNode(newNodeModel, getDelegate());
    return new NodeProxy(newNodeModel, getScriptContext());
  }
View Full Code Here

  }

  // Node: R/W
  public Proxy.Node createChild(final int position) {
    final MMapController mapController = (MMapController) getModeController().getMapController();
    final NodeModel newNodeModel = new NodeModel(getDelegate().getMap());
    mapController.insertNode(newNodeModel, getDelegate(), position);
    return new NodeProxy(newNodeModel, getScriptContext());
  }
View Full Code Here

    return appendBranchImpl(node, true);
  }

  private Proxy.Node appendBranchImpl(Proxy.NodeRO node, boolean withChildren) {
      final MClipboardController clipboardController = (MClipboardController) ClipboardController.getController();
    final NodeModel newNodeModel = clipboardController.duplicate(((NodeProxy) node).getDelegate(), withChildren);
    final MMapController mapController = (MMapController) getModeController().getMapController();
    mapController.insertNode(newNodeModel, getDelegate());
    return new NodeProxy(newNodeModel, getScriptContext());
    }
View Full Code Here

      final MapWriter mapWriter = Controller.getCurrentModeController().getMapController().getMapWriter();
      final StringWriter sw = new StringWriter();
      sw.append(el);
      sw.append("<map_styles>");
      sw.append(el);
      final NodeModel rootNode = styleMap.getRootNode();
      final boolean forceFormatting = Boolean.TRUE.equals(writer.getHint(MapWriter.WriterHint.FORCE_FORMATTING));
      try {
        mapWriter.writeNodeAsXml(sw, rootNode, Mode.STYLE, true, true, forceFormatting);
      }
      catch (final IOException e) {
View Full Code Here

TOP

Related Classes of org.freeplane.features.map.NodeModel

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.