Examples of mxPoint


Examples of com.mxgraph.util.mxPoint

   * @param source Boolean indicating if the terminal is the source or target.
   */
  public mxConnectionConstraint getConnectionConstraint(mxCellState edge,
      mxCellState terminal, boolean source)
  {
    mxPoint point = null;
    Object x = edge.getStyle()
        .get((source) ? mxConstants.STYLE_EXIT_X
            : mxConstants.STYLE_ENTRY_X);

    if (x != null)
    {
      Object y = edge.getStyle().get(
          (source) ? mxConstants.STYLE_EXIT_Y
              : mxConstants.STYLE_ENTRY_Y);

      if (y != null)
      {
        point = new mxPoint(Double.parseDouble(x.toString()),
            Double.parseDouble(y.toString()));
      }
    }

    boolean perimeter = false;
View Full Code Here

Examples of com.mxgraph.util.mxPoint

   * constraint as returned by getConnectionConstraint.
   */
  public mxPoint getConnectionPoint(mxCellState vertex,
      mxConnectionConstraint constraint)
  {
    mxPoint point = null;

    if (vertex != null && constraint.point != null)
    {
      point = new mxPoint(vertex.getX() + constraint.getPoint().getX()
          * vertex.getWidth(), vertex.getY()
          + constraint.getPoint().getY() * vertex.getHeight());
    }

    if (point != null && constraint.perimeter)
View Full Code Here

Examples of com.mxgraph.util.mxPoint

    {
      model.beginUpdate();
      try
      {
        double scale = view.getScale();
        mxPoint tr = view.getTranslate();

        // Prepares a hashtable for faster cell lookups
        Set<Object> hash = new HashSet<Object>();

        for (int i = 0; i < cells.length; i++)
        {
          hash.add(cells[i]);
        }

        for (int i = 0; i < cells.length; i++)
        {
          if (model.isEdge(cells[i]))
          {
            mxGeometry geo = model.getGeometry(cells[i]);

            if (geo != null)
            {
              mxCellState state = view.getState(cells[i]);
              mxCellState pstate = view.getState(model
                  .getParent(cells[i]));

              if (state != null && pstate != null)
              {
                geo = (mxGeometry) geo.clone();

                double dx = -pstate.getOrigin().getX();
                double dy = -pstate.getOrigin().getY();

                Object src = model.getTerminal(cells[i], true);

                if (src != null
                    && isCellDisconnectable(cells[i], src,
                        true))
                {
                  while (src != null && !hash.contains(src))
                  {
                    src = model.getParent(src);
                  }

                  if (src == null)
                  {
                    mxPoint pt = state.getAbsolutePoint(0);
                    geo.setTerminalPoint(
                        new mxPoint(pt.getX() / scale
                            - tr.getX() + dx, pt
                            .getY()
                            / scale
                            - tr.getY() + dy), true);
                    model.setTerminal(cells[i], null, true);
                  }
                }

                Object trg = model.getTerminal(cells[i], false);

                if (trg != null
                    && isCellDisconnectable(cells[i], trg,
                        false))
                {
                  while (trg != null && !hash.contains(trg))
                  {
                    trg = model.getParent(trg);
                  }

                  if (trg == null)
                  {
                    int n = state.getAbsolutePointCount() - 1;
                    mxPoint pt = state.getAbsolutePoint(n);
                    geo.setTerminalPoint(
                        new mxPoint(pt.getX() / scale
                            - tr.getX() + dx, pt
                            .getY()
                            / scale
                            - tr.getY() + dy),
                        false);
                    model.setTerminal(cells[i], null, false);
View Full Code Here

Examples of com.mxgraph.util.mxPoint

  /**
   * @param value the origin to set
   */
  public void setOrigin(mxPoint value)
  {
    mxPoint oldValue = origin;
    origin = value;

    changeSupport.firePropertyChange("origin", oldValue, origin);
  }
View Full Code Here

Examples of com.mxgraph.util.mxPoint

   *
   */
  protected mxPoint transformScreenPoint(double x, double y)
  {
    mxGraph graph = graphComponent.getGraph();
    mxPoint tr = graph.getView().getTranslate();
    double scale = graph.getView().getScale();

    return new mxPoint(graph.snap(x / scale - tr.getX()), graph.snap(y / scale - tr.getY()));
  }
View Full Code Here

Examples of com.mxgraph.util.mxPoint

   */
  protected mxPoint convertPoint(mxPoint point, boolean gridEnabled)
  {
    mxGraph graph = graphComponent.getGraph();
    double scale = graph.getView().getScale();
    mxPoint trans = graph.getView().getTranslate();
    double x = point.getX() / scale - trans.getX();
    double y = point.getY() / scale - trans.getY();

    if (gridEnabled)
    {
      x = graph.snap(x);
      y = graph.snap(y);
View Full Code Here

Examples of com.mxgraph.util.mxPoint

        double y0 = Math.min(0, y);

        origin.setX(origin.getX() + x0);
        origin.setY(origin.getY() + y0);

        mxPoint t = getView().getTranslate();
        getView().setTranslate(
            new mxPoint(t.getX() - x0, t.getY() - y0));
      }
      else if ((x > 0 || y > 0)
          && (origin.getX() < 0 || origin.getY() < 0))
      {
        double dx = Math.min(-origin.getX(), x);
        double dy = Math.min(-origin.getY(), y);

        origin.setX(origin.getX() + dx);
        origin.setY(origin.getY() + dy);

        mxPoint t = getView().getTranslate();
        getView().setTranslate(
            new mxPoint(t.getX() - dx, t.getY() - dy));
      }
    }
  }
View Full Code Here

Examples of com.mxgraph.util.mxPoint

      Object source = null;
      Object target = null;

      if (isLabel(index))
      {
        mxPoint abs = state.getAbsoluteOffset();
        double dx = abs.getX() - first.x;
        double dy = abs.getY() - first.y;

        mxPoint pt = new mxPoint(e.getPoint());

        if (gridEnabledEvent)
        {
          pt = graphComponent.snapScaledPoint(pt, dx, dy);
        }

        if (constrainedEvent)
        {
          if (Math.abs(e.getX() - first.x) > Math.abs(e.getY()
              - first.y))
          {
            pt.setY(abs.getY());
          }
          else
          {
            pt.setX(abs.getX());
          }
        }

        Rectangle rect = getPreviewBounds();
        rect.translate((int) Math.round(pt.getX() - first.x),
            (int) Math.round(pt.getY() - first.y));
        preview.setBounds(rect);
      }
      else
      {
        // Clones the cell state and updates the absolute points using
        // the current state of this handle. This is required for
        // computing the correct perimeter points and edge style.
        mxGeometry geometry = graphComponent.getGraph()
            .getCellGeometry(state.getCell());
        mxCellState clone = (mxCellState) state.clone();
        List<mxPoint> points = geometry.getPoints();
        mxGraphView view = clone.getView();

        if (isSource || isTarget)
        {
          marker.process(e);
          mxCellState currentState = marker.getValidState();

          target = view
              .getVisibleTerminal(state.getCell(), !isSource);

          if (currentState != null)
          {
            source = currentState.getCell();
          }
          else
          {
            mxPoint pt = new mxPoint(e.getPoint());

            if (gridEnabledEvent)
            {
              pt = graphComponent.snapScaledPoint(pt);
            }

            clone.setAbsoluteTerminalPoint(pt, isSource);
          }

          if (!isSource)
          {
            Object tmp = source;
            source = target;
            target = tmp;
          }
        }
        else
        {
          mxPoint point = convertPoint(new mxPoint(e.getPoint()),
              gridEnabledEvent);

          if (points == null)
          {
            points = Arrays.asList(new mxPoint[] { point });
View Full Code Here

Examples of com.mxgraph.util.mxPoint

            JOptionPane.showMessageDialog(graphComponent, error);
          }
        }
        else if (isLabel(index))
        {
          mxPoint abs = state.getAbsoluteOffset();
          dx = abs.getX() - first.x;
          dy = abs.getY() - first.y;

          mxPoint pt = new mxPoint(e.getPoint());

          if (gridEnabledEvent)
          {
            pt = graphComponent.snapScaledPoint(pt, dx, dy);
          }

          if (constrainedEvent)
          {
            if (Math.abs(e.getX() - first.x) > Math.abs(e.getY()
                - first.y))
            {
              pt.setY(abs.getY());
            }
            else
            {
              pt.setX(abs.getX());
            }
          }

          moveLabelTo(state, pt.getX() + dx, pt.getY() + dy);
        }
        else if (marker.hasValidState()
            && (isSource(index) || isTarget(index)))
        {
          connect(state.getCell(), marker.getValidState().getCell(),
              isSource(index), graphComponent.isCloneEvent(e)
                  && isCloneEnabled());
        }
        else if ((!isSource(index) && !isTarget(index))
            || graphComponent.getGraph().isAllowDanglingEdges())
        {
          movePoint(
              state.getCell(),
              index,
              convertPoint(new mxPoint(e.getPoint()),
                  gridEnabledEvent));
        }

        e.consume();
      }
View Full Code Here

Examples of com.mxgraph.util.mxPoint

      tmp.addAll(Arrays.asList(cells));

      if (!tmp.isEmpty())
      {
        double scale = view.getScale();
        mxPoint trans = view.getTranslate();
        clones = model.cloneCells(cells, true);

        for (int i = 0; i < cells.length; i++)
        {
          if (!allowInvalidEdges
              && model.isEdge(clones[i])
              && getEdgeValidationError(clones[i],
                  model.getTerminal(clones[i], true),
                  model.getTerminal(clones[i], false)) != null)
          {
            clones[i] = null;
          }
          else
          {
            mxGeometry g = model.getGeometry(clones[i]);

            if (g != null)
            {
              mxCellState state = view.getState(cells[i]);
              mxCellState pstate = view.getState(model
                  .getParent(cells[i]));

              if (state != null && pstate != null)
              {
                double dx = pstate.getOrigin().getX();
                double dy = pstate.getOrigin().getY();

                if (model.isEdge(clones[i]))
                {
                  // Checks if the source is cloned or sets the terminal point
                  Object src = model.getTerminal(cells[i],
                      true);

                  while (src != null && !tmp.contains(src))
                  {
                    src = model.getParent(src);
                  }

                  if (src == null)
                  {
                    mxPoint pt = state.getAbsolutePoint(0);
                    g.setTerminalPoint(
                        new mxPoint(pt.getX() / scale
                            - trans.getX(), pt
                            .getY()
                            / scale
                            - trans.getY()), true);
                  }

                  // Checks if the target is cloned or sets the terminal point
                  Object trg = model.getTerminal(cells[i],
                      false);

                  while (trg != null && !tmp.contains(trg))
                  {
                    trg = model.getParent(trg);
                  }

                  if (trg == null)
                  {
                    mxPoint pt = state
                        .getAbsolutePoint(state
                            .getAbsolutePointCount() - 1);
                    g.setTerminalPoint(
                        new mxPoint(pt.getX() / scale
                            - trans.getX(), pt
                            .getY()
                            / scale
                            - trans.getY()), false);
                  }

                  // Translates the control points
                  List<mxPoint> points = g.getPoints();

                  if (points != null)
                  {
                    Iterator<mxPoint> it = points
                        .iterator();

                    while (it.hasNext())
                    {
                      mxPoint pt = it.next();
                      pt.setX(pt.getX() + dx);
                      pt.setY(pt.getY() + dy);
                    }
                  }
                }
                else
                {
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. 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.