Package org.freeplane.view.swing.map

Examples of org.freeplane.view.swing.map.NodeView


    doubleClickTimer.cancel();
    setClickDelay();
    if (isInDragRegion(e)) {
      if ((e.getModifiersEx() & InputEvent.BUTTON1_DOWN_MASK) == (InputEvent.BUTTON1_DOWN_MASK)) {
        nodeSelector.stopTimerForDelayedSelection();
        final NodeView nodeV = getNodeView(e);
        final Point point = e.getPoint();
        findGridPoint(point);
        UITools.convertPointToAncestor(nodeV, point, JScrollPane.class);
        setDragStartingPoint(point, nodeV.getModel());
      }
    }
    else
      super.mousePressed(e);
  }
View Full Code Here


    public void mouseDragged(final MouseEvent e) {
    if (!isDragActive())
      return;
    if ((e.getModifiersEx() & InputEvent.BUTTON1_DOWN_MASK) == (InputEvent.BUTTON1_DOWN_MASK)) {
      final MainView mainView = (MainView) e.getSource();
      final NodeView nodeV = getNodeView(e);
      final MapView mapView = nodeV.getMap();
      final Point point = e.getPoint();
      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);
          mapController.nodeRefresh(nodeV.getModel());
        }
        else
          return;
      }
      EventQueue.invokeLater(new Runnable() {
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

    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);
        }
      }
    }
    if (selectedsBackup != null) {
View Full Code Here

  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;
    int oldIndex = -1;
    int wrondSideCount = 0;
    for (int i = start; i < end; i++) {
      final Component component = parent.getComponent(i);
      if (!(component instanceof NodeView))
        continue;
      NodeView sibling = (NodeView) component;
      if (sibling.isLeft() == left && !SummaryNode.isSummaryNode(sibling.getModel()) && getRefY(sibling) > nodeY)
        break;
      else {
        if (sibling != nodeV) {
          newIndex++;
          if (sibling.isLeft() != left)
            wrondSideCount++;
          else
            wrondSideCount = 0;
        }
        else {
View Full Code Here

  }

  public void showNodePopupMenu(final MouseEvent e) {
    if (e.isPopupTrigger()) {
      ModeController mc = Controller.getCurrentController().getModeController();
      final NodeView nodeView = (NodeView) SwingUtilities.getAncestorOfClass(NodeView.class, e.getComponent());
      if (nodeView == null)
        return;
      if (!nodeView.isSelected()) {
        Controller.getCurrentController().getSelection().selectAsTheOnlyOneSelected(nodeView.getModel());
      }
      final JPopupMenu popupmenu = mc.getUserInputListenerFactory().getNodePopupMenu();
      new NodePopupMenuDisplayer().showMenuAndConsumeEvent(popupmenu, e);
    }
  }
View Full Code Here

      final int deltaX = (int) ((e.getX() - originX) / mapView.getZoom());
      final int deltaY = (int) ((e.getY() - originY) / mapView.getZoom());
      double distSqToTarget = 0;
      double distSqToSource = 0;
      final NodeModel target = draggedLink.getTarget();
      final NodeView targetView = mapView.getNodeView(target);
      final NodeView sourceView = mapView.getNodeView(draggedLink.getSource());
      if (targetView != null && sourceView != null) {
        final Point targetLinkPoint = targetView.getLinkPoint(draggedLink.getEndInclination());
        final Point sourceLinkPoint = sourceView.getLinkPoint(draggedLink.getStartInclination());
        distSqToTarget = targetLinkPoint.distanceSq(originX, originY);
        distSqToSource = sourceLinkPoint.distanceSq(originX, originY);
      }
      if ((targetView == null || sourceView != null) && distSqToSource <= distSqToTarget * 2.25) {
        final Point changedInclination = draggedLink.getStartInclination();
View Full Code Here

* The NodeDragListener which belongs to every NodeView
*/
public class MNodeDragListener implements DragGestureListener {
  public void dragGestureRecognized(final DragGestureEvent e) {
    final MainView mainView = (MainView) e.getComponent();
    final NodeView nodeView = mainView.getNodeView();
    final MapView mapView = nodeView.getMap();
    mapView.select();
    if(! nodeView.isSelected()){
      nodeView.getMap().getModeController().getController().getSelection().selectAsTheOnlyOneSelected(nodeView.getModel());
    }
    Rectangle bounds = new Rectangle(0, 0, mainView.getWidth(), mainView.getHeight());
    if(!bounds.contains(e.getDragOrigin()))
      return;
    final int dragActionType = e.getDragAction();
    if (dragActionType == DnDConstants.ACTION_MOVE) {
      final NodeModel node = nodeView.getModel();
      if (node.isRoot()) {
        if(! isLinkDragEvent(e))
          return;
      }
    }
View Full Code Here

    }
  }

  @Override
  protected Stroke getStroke() {
    final NodeView target = getTarget();
    int edgeWidth = target.getEdgeWidth();
    final EdgeStyle style = target.getEdgeStyle();
    final int nodeLineWidth = style.getNodeLineWidth(edgeWidth);
    final int zoomedWidth;
    if(edgeWidth != 0)
          zoomedWidth = getTarget().getZoomed(nodeLineWidth);
        else
View Full Code Here

    return new Rectangle((int) (p.getX() - side / 2), (int) (p.getY() - side / 2), side, side);
  }

  public boolean shouldSelectOnClick(MouseEvent e) {
    if (isInside(e)) {
      final NodeView nodeView = getRelatedNodeView(e);
      return !nodeView.isSelected() || Controller.getCurrentController().getSelection().size() != 1;
    }
    return false;
  }
View Full Code Here

TOP

Related Classes of org.freeplane.view.swing.map.NodeView

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.