Package org.freeplane.view.swing.map

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


      dtde.rejectDrag();
    }
  }

  private void supportFolding(final DropTargetDragEvent dtde) {
    final MainView node = getNode(dtde);
    if(isInFoldingRegion(dtde)){
      node.setMouseArea(MouseArea.FOLDING);
      startUnfoldTimer(node);
    }
    else{
      node.setMouseArea(MouseArea.DEFAULT);
      stopUnfoldTimer();
    }
    }
View Full Code Here


      stopUnfoldTimer();
    }
    }

  private boolean isInFoldingRegion(DropTargetDragEvent dtde) {
    final MainView node = getNode(dtde);
    return node.isInFoldingRegion(dtde.getLocation());
  }
View Full Code Here

  }

  public void dragExit(final DropTargetEvent e) {
    getNode(e).setMouseArea(MouseArea.OUT);
    stopUnfoldTimer();
    final MainView mainView = getNode(e);
    mainView.setDraggedOver(NodeView.DRAGGED_OVER_NO);
    mainView.repaint();
  }
View Full Code Here

      final JPopupMenu popupmenu = mc.getUserInputListenerFactory().getNodePopupMenu();
      if(popupmenu.isShowing()){
        return;
      }
    }
    final MainView component = (MainView) e.getComponent();
    NodeView nodeView = component.getNodeView();
    if (nodeView == null)
      return;

    final NodeModel node = nodeView.getModel();
    final boolean plainEvent = Compat.isPlainEvent(e);
    final boolean inside = nodeSelector.isInside(e);
    final MapController mapController = mc.getMapController();
    if(e.getButton() == 1){
      if(plainEvent){
        if (component.isInFollowLinkRegion(e.getX())) {
          LinkController.getController(mc).loadURL(node, e);
          e.consume();
          return;
        }

        final String link = component.getLink(e.getPoint());
        if (link != null) {
          doubleClickTimer.start(new Runnable() {
            public void run() {
              loadLink(link);
            }
          });
          e.consume();
          return;
        }

        if(inside && e.getClickCount() == 1 && ResourceController.getResourceController().getBooleanProperty(FOLD_ON_CLICK_INSIDE)){
          final boolean fold = FoldingMark.UNFOLDED.equals(component.foldingMarkType(mapController, node)) && ! mapController.hasHiddenChildren(node);
          if (!nodeSelector.shouldSelectOnClick(e)) {
            doubleClickTimer.start(new Runnable() {
              public void run() {
                mapController.setFolded(node, fold);
              }
            });
          }
        }
      }
      else if(Compat.isShiftEvent(e)){
        if (isInFoldingRegion(e)) {
          if (! mapController.showNextChild(node))
            mapController.setFolded(node, true);
          e.consume();
        }
      }
    }
    final boolean inFoldingRegion = isInFoldingRegion(e);
    if ((plainEvent && inFoldingRegion
        || (inFoldingRegion || inside) && Compat.isCtrlShiftEvent(e))
            && !nodeSelector.shouldSelectOnClick(e)) {
      boolean fold = FoldingMark.UNFOLDED.equals(component.foldingMarkType(mapController, node)) && ! mapController.hasHiddenChildren(node);
      doubleClickTimer.cancel();
      mapController.setFolded(node, fold);
      e.consume();
      return;
    }
View Full Code Here

    mainView.repaint();
  }

  private MainView getNode(final DropTargetEvent e) {
      final Component draggedNode = e.getDropTargetContext().getComponent();
    final MainView mainView = (MainView) draggedNode;
      return mainView;
    }
View Full Code Here

    }

  public void dragOver(final DropTargetDragEvent dtde) {
    supportFolding(dtde);

    final MainView draggedNode = (MainView) dtde.getDropTargetContext().getComponent();
    final int oldDraggedOver = draggedNode.getDraggedOver();
    draggedNode.setDraggedOver(dtde.getLocation());
    final int newDraggedOver = draggedNode.getDraggedOver();
    final boolean repaint = newDraggedOver != oldDraggedOver;
    if (repaint) {
      draggedNode.repaint();
    }
  }
View Full Code Here

    }
  }

  public void mouseExited(final MouseEvent e) {
    nodeSelector.stopTimerForDelayedSelection();
    final MainView v = (MainView) e.getSource();
    v.setMouseArea(MouseArea.OUT);
    nodeSelector.trackWindowForComponent(v);
  }
View Full Code Here

  }

  public void mouseMoved(final MouseEvent e) {
    if (!nodeSelector.isRelevant(e))
      return;
    final MainView node = ((MainView) e.getComponent());
    String link = node.getLink(e.getPoint());
    boolean followLink = link != null;
    Controller currentController = Controller.getCurrentController();
        if(! followLink){
          followLink = node.isInFollowLinkRegion(e.getX());
          if(followLink){
        link = LinkController.getController(currentController.getModeController()).getLinkShortText(node.getNodeView().getModel());
          }
        }
        final Cursor requiredCursor;
        if(followLink){
      currentController.getViewController().out(link);
      requiredCursor = Cursor.getPredefinedCursor(Cursor.HAND_CURSOR);
      node.setMouseArea(MouseArea.LINK);
        }
        else if (isInFoldingRegion(e)){
          requiredCursor = Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR);
          node.setMouseArea(MouseArea.FOLDING);
        }
        else{
          requiredCursor = Cursor.getPredefinedCursor(Cursor.DEFAULT_CURSOR);
          node.setMouseArea(MouseArea.DEFAULT);
        }
        if (node.getCursor().getType() != requiredCursor.getType() || requiredCursor.getType() == Cursor.CUSTOM_CURSOR && node.getCursor() != requiredCursor) {
          node.setCursor(requiredCursor);
        }
    nodeSelector.createTimer(e);
  }
View Full Code Here

  public void drop(final DropTargetDropEvent dtde) {
    try {
      int dropAction = dtde.getDropAction();
      final Transferable t = dtde.getTransferable();
      final MainView mainView = (MainView) dtde.getDropTargetContext().getComponent();
      final NodeView targetNodeView = mainView.getNodeView();
      final MapView mapView = targetNodeView.getMap();
      mapView.select();
      final NodeModel targetNode = targetNodeView.getModel();
      final Controller controller = Controller.getCurrentController();
      if (dtde.isLocalTransfer() && t.isDataFlavorSupported(MindMapNodesSelection.dropActionFlavor)) {
        final String sourceAction = (String) t.getTransferData(MindMapNodesSelection.dropActionFlavor);
        if (sourceAction.equals("LINK")) {
          dropAction = DnDConstants.ACTION_LINK;
        }
        if (sourceAction.equals("COPY")) {
          dropAction = DnDConstants.ACTION_COPY;
        }
      }
      mainView.setDraggedOver(NodeView.DRAGGED_OVER_NO);
      mainView.repaint();
      if (dtde.isLocalTransfer() && (dropAction == DnDConstants.ACTION_MOVE) && !isDropAcceptable(dtde)) {
        dtde.rejectDrop();
        return;
      }
      final boolean dropAsSibling = mainView.dropAsSibling(dtde.getLocation().getX());
      ModeController modeController = controller.getModeController();
      final MMapController mapController = (MMapController) modeController.getMapController();
      if ((dropAction == DnDConstants.ACTION_MOVE || dropAction == DnDConstants.ACTION_COPY)) {
        final NodeModel parent = dropAsSibling ? targetNode.getParentNode() : targetNode;
        if (!mapController.isWriteable(parent)) {
          dtde.rejectDrop();
          final String message = TextUtils.getText("node_is_write_protected");
          UITools.errorMessage(message);
          return;
        }
      }
      final boolean isLeft = mainView.dropLeft(dtde.getLocation().getX());
      if (!dtde.isLocalTransfer()) {
        dtde.acceptDrop(DnDConstants.ACTION_COPY);
        ((MClipboardController) ClipboardController.getController()).paste(t, targetNode, dropAsSibling, isLeft, dropAction);
        dtde.dropComplete(true);
        return;
View Full Code Here

    @Override
    protected void createStart() {
             super.createStart();
             final int delta = getMap().getZoomed(getWidth() + 1);
             if (getSource().isRoot()) {
                 final MainView mainView = getSource().getMainView();
                 final double w = mainView.getWidth() / 2;
                 final double x0 = start.x - w;
                 final double w2 = w * w;
                 final double x02 = x0 * x0;
                 if (Double.compare(w2, x02) == 0) {
                     deltaX = 0;
                     deltaY = delta;
                 }
                 else {
                     final int h = mainView.getHeight() / 2;
                     final int y0 = start.y - h;
                     final double k = h / w * x0 / Math.sqrt(w2 - x02);
                     final double dx = delta / Math.sqrt(1 + k * k);
                     deltaX = (int) dx;
                     deltaY = (int) (k * dx);
 
View Full Code Here

TOP

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

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.