Package com.sencha.gxt.core.client.util

Examples of com.sencha.gxt.core.client.util.Point


    } else {
      vw = elem.getOffsetWidth();
      vh = elem.getOffsetHeight();
    }

    Point xy = proposedXY;
    int x = xy.getX();
    int y = xy.getY();

    int vr = vx + vw;
    int vb = vy + vh;

    int w = getOffsetWidth();
    int h = getOffsetHeight();

    if ((x + w) > vr) {
      x = vr - w;
    }
    if ((y + h) > vb) {
      y = vb - h;

    }

    // then make sure top/left isn't negative
    if (x < vx) {
      x = vx;
    }
    if (y < vy) {
      y = vy;
    }

    return new Point(x, y);
  }
View Full Code Here


    }

    if (!isAttached()) {
      return;
    }
    Point p = getPositionEl().translatePoints(new Point(x, y));
    setPosition(p.getX(), p.getY());
  }
View Full Code Here

      return;
    }

    getElement().makePositionable();

    Point p = new Point(left, top);

    p = adjustPosition(p);
    int ax = p.getX(), ay = p.getY();

    XElement pel = getPositionEl();

    if (ax != Style.DEFAULT || ay != Style.DEFAULT) {
      if (ax != Style.DEFAULT) {
View Full Code Here

  }

  @Override
  protected void onAdd(List<M> models, int index) {
    if (enableGrouping) {
      Point ss = getScrollState();
      refresh(false);
      restoreScroll(ss);
    } else {
      super.onAdd(models, index);
    }
View Full Code Here

      origConstrainPosition = this.constrainPosition;
      constrainPosition = false;
    }

    // go to the method below, it has some added benefits before going to super
    Point xy = getTargetXY(0);
    showAt(xy.getX(), xy.getY());

    if (toolTipConfig.getAnchor() != null) {
      anchorEl.show();
      constrainPosition = origConstrainPosition;
      toolTipConfig.setAnchor(origAnchor);
View Full Code Here

  protected void onMouseMove(Event event) {
    targetXY = event.<XEvent> cast().getXY();
    if (isAttached() && toolTipConfig.isTrackMouse()) {
      Side origAnchor = toolTipConfig.getAnchor();
      Point p = getTargetXY(0);
      toolTipConfig.setAnchor(origAnchor);
      if (constrainPosition) {
        p = getElement().adjustForConstraints(p);
      }
      super.showAt(p.getX(), p.getY());
    }
  }
View Full Code Here

  protected void onTargetOver(Event ce) {
    if (disabled || !target.isOrHasChild(ce.getEventTarget().<Element> cast())) {
      return;
    }
    clearTimer("hide");
    targetXY = new Point(ce.getClientX(), ce.getClientY());
    delayShow();
  }
View Full Code Here

    if (toolTipConfig.getAnchor() != null) {
      targetCounter++;
      int[] offsets = getOffsets();

      // base pin point, depending on anchor side designation
      Point xy = targetXY;
      if (toolTipConfig.isAnchorToTarget() && !toolTipConfig.isTrackMouse()) {
        // Note: Don't set the scroll offset in x and y
        xy = getElement().getAlignToXY(target, getAnchorAlign(), 0, 0);
      }

      int dw = XDOM.getViewWidth(false);
      int dh = XDOM.getViewHeight(false);
      int scrollX = XDOM.getBodyScrollLeft();
      int scrollY = XDOM.getBodyScrollTop();

      int[] axy = new int[] {xy.getX() + offsets[0], xy.getY() + offsets[1]};

      // getElement().getAlignToXY adds scroll offset, this takes it away, b/c Tip showAt translates/adds it again
      // This takes out the scroll offset given by 'getElement().getAlignToXY'
      if (toolTipConfig.isAnchorToTarget() && !toolTipConfig.isTrackMouse()) {
        axy[0] -= XDOM.getBodyScrollLeft();
        axy[1] -= XDOM.getBodyScrollTop();
       
        if (scrollY > 0) {
          // bottom offset correct is double
          scrollY -= XDOM.getBodyScrollTop() * 2;
        }
      }

      Size sz = getElement().getSize();
      Region r = XElement.as(target).getRegion();

      // Anchor range is not factored in on overall size, which overall size has to be used to flip to another side
      // Note, things are inverted from display to programattical code like RIGHT means screen display LEFT
      offsets = getAddAnchorToRange(offsets);

      // When tip is screen top hits the ceiling out of range/site, this is the offset that fixes it. 
      if (toolTipConfig.isTrackMouse() && toolTipConfig.getAnchor() == Side.BOTTOM) {
          offsets[1] = XDOM.getBodyScrollTop() * 2;
      }
     
      // When tip is screen bottom during a scroll needs an offset correction so not to flip to early
      if (toolTipConfig.isTrackMouse() && toolTipConfig.getAnchor() == Side.TOP) {
        offsets[1] -= XDOM.getBodyScrollTop() * 2;
      }
     
      if (GXTLogConfiguration.loggingIsEnabled()) {
        String s = "dw=" + dw + ",dh=" + dh + " ";
        s += "scroll=" + scrollX + ",=" + scrollY + " ";
        s += "offsets=" + offsets[0] + "," + offsets[1] + " ";
        s += "axy=" + axy[0] + "," + axy[1] + " ";
        s += "sz=" + sz + " ";
        s += "r=" + r + " ";
        s += "isTrackMouse=" + toolTipConfig.isTrackMouse() + " ";
        s += "targetXY=" + targetXY + " ";
        logger.finest(s);

        if (toolTipConfig.getAnchor() == Side.TOP) {
          String s1 = "TOP CALC: " + "sz.getHeight()=" + sz.getHeight() + " " + "+ offsets[1]=" + offsets[1] + " "
              + "+ scrollY " + scrollY + " " + "< dh=" + dh + " " + "- r.getBottom()=" + r.getBottom();
          String s2 = "TOP CALC: " + (sz.getHeight() + offsets[1] + scrollY) + " < " + (dh - r.getBottom()) + " ";
          String s3 = "TOP CALC: " + (sz.getHeight() + offsets[1] + scrollY < dh - r.getBottom());
          logger.finest(s1);
          logger.finest(s2);
          logger.finest(s3);
        }

        if (toolTipConfig.getAnchor() == Side.BOTTOM) {
          String s1 = "BOTTOM CALC: sz.getHeight()=" + sz.getHeight() + " + offsets[1]=" + offsets[1] + " - scrollY="
              + scrollY + " < r.getTop()=" + r.getTop();
          String s2 = "BOTTOM CALC: " + (sz.getHeight() + offsets[1] - scrollY) + " <  " + r.getTop();
          String s3 = "BOTTOM CALC: " + (sz.getHeight() + offsets[1] - scrollY < r.getTop());
          logger.finest(s1);
          logger.finest(s2);
          logger.finest(s3);
        }

        if (toolTipConfig.getAnchor() == Side.LEFT) {
          String s1 = "LEFT CALC: sz.getWidth()=" + sz.getWidth() + " + offsets[0]=" + offsets[0] + " + scrollX="
              + scrollX + " < dw=" + dw + " - r.getRight()=" + r.getRight();
          String s2 = "LEFT CALC: " + (sz.getWidth() + offsets[0] + scrollX) + " < " + (dw - r.getRight());
          String s3 = "LEFT CALC: " + (sz.getWidth() + offsets[0] + scrollX < dw - r.getRight());
          logger.finest(s1);
          logger.finest(s2);
          logger.finest(s3);
        }

        if (toolTipConfig.getAnchor() == Side.RIGHT) {
          String s1 = "RIGHT CALC: sz.getWidth()=" + sz.getWidth() + " + offsets[0]=" + offsets[0] + " + scrollX="
              + scrollX + " < r.getLeft()=" + r.getLeft();
          String s2 = "RIGHT CALC: " + (sz.getWidth() + offsets[0] + scrollX) + " < " + r.getLeft();
          String s3 = "RIGHT CALC: " + (sz.getWidth() + offsets[0] + scrollX < r.getLeft());
          logger.finest(s1);
          logger.finest(s2);
          logger.finest(s3);
        }
      }

      // if we are not inside valid ranges we try to switch the anchor
      if (!((toolTipConfig.getAnchor() == Side.TOP && (sz.getHeight() + offsets[1] + scrollY < dh - r.getBottom()))
          || (toolTipConfig.getAnchor() == Side.RIGHT && (sz.getWidth() + offsets[0] + scrollX < r.getLeft()))
          || (toolTipConfig.getAnchor() == Side.BOTTOM && (sz.getHeight() + offsets[1] - scrollY < r.getTop()))
          || (toolTipConfig.getAnchor() == Side.LEFT && (sz.getWidth() + offsets[0] - scrollX < dw - r.getRight())))
          && targetCounter < 4) {
        targetCounter++;

        if (sz.getWidth() + offsets[0] + scrollX < r.getLeft()) {
          toolTipConfig.setAnchor(Side.RIGHT);
          return getTargetXY(targetCounter);
        }
        if (sz.getWidth() + offsets[0] + scrollX < r.getLeft()) {
          toolTipConfig.setAnchor(Side.LEFT);
          return getTargetXY(targetCounter);
        }
        if (sz.getHeight() + offsets[1] + scrollY < dh - r.getBottom()) {
          toolTipConfig.setAnchor(Side.TOP);
          return getTargetXY(targetCounter);
        }
        if (sz.getHeight() + offsets[1] + scrollY < r.getTop()) {
          toolTipConfig.setAnchor(Side.BOTTOM);
          return getTargetXY(targetCounter);
        }
      }

      // sets the direction of the anchor <^>
      if (toolTipConfig.isAnchorArrow()) {
        getAppearance().applyAnchorDirectionStyle(anchorEl, toolTipConfig.getAnchor());
      }

      // reset recursion check counter
      targetCounter = 0;
      return new Point(axy[0], axy[1]);

    } else {
      int x = targetXY.getX() + toolTipConfig.getMouseOffsetX();
      int y = targetXY.getY() + toolTipConfig.getMouseOffsetY();


      return new Point(x, y);
    }
  }
View Full Code Here

      } else if (cright > sright) {
        c.setScrollLeft(cright - scroller.getComputedWidth());
      }
    }

    return cellEl != null ? fly(cellEl).getXY() : new Point(c.getAbsoluteLeft() + c.getScrollLeft(), fly(rowEl).getY());
  }
View Full Code Here

   * @param rowIndex the row index
   * @param colIndex the column index
   * @param hscroll true to scroll horizontally
   */
  public void focusCell(int rowIndex, int colIndex, boolean hscroll) {
    Point xy = ensureVisible(rowIndex, colIndex, hscroll);
    if (xy != null) {
      focusEl.setXY(xy);
      if (focusEnabled) {
        focus();
      }
View Full Code Here

TOP

Related Classes of com.sencha.gxt.core.client.util.Point

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.