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

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


      int cols = cm.getColumnCount();
      for (int i = 0, len = cols; i < len; i++) {
        if (cm.isHidden(i) || !cm.isResizable(i)) continue;
        Element hd = getHead(i).getElement();
        if (hd != null) {
          Region rr = XElement.as(hd).getRegion();
          if (startX > rr.getRight() - 5 && startX < rr.getRight() + 5) {
            colIndex = heads.indexOf(getHead(i));
            if (colIndex != -1) break;
          }
        }
      }
View Full Code Here


          before = i;
          break;
        }
      }
      int x = event.getClientX();
      Region r = header.getElement().getRegion();
      int hw = splitterWidth;

      getElement().setY(XElement.as(container.getElement()).getY());
      getElement().setHeight(container.getOffsetHeight());

      Style ss = getElement().getStyle();

      if (x - r.getLeft() <= hw && before != -1 && cm.isResizable(before) && !cm.isFixed(before)) {
        bar.getElement().setVisibility(true);
        getElement().setX(r.getLeft() - (hw / 2));
        ss.setProperty("cursor", GXT.isSafari() ? "e-resize" : "col-resize");
      } else if (r.getRight() - x <= hw && cm.isResizable(activeHdIndex) && !cm.isFixed(activeHdIndex)) {
        bar.getElement().setVisibility(true);
        getElement().setX(r.getRight() - (hw / 2));
        ss.setProperty("cursor", GXT.isSafari() ? "w-resize" : "col-resize");
      } else {
        bar.getElement().setVisibility(false);
        ss.setProperty("cursor", "");
      }
View Full Code Here

    if (constrainViewport) {
      // constrain the aligned el to viewport if necessary
      int w = getOffsetWidth();
      int h = getOffsetHeight();
      Region r = el.getRegion();
      // 5px of margin for ie
      int dw = XDOM.getViewWidth(false) - 10;
      int dh = XDOM.getViewHeight(false) - 10;

      // If we are at a viewport boundary and the aligned el is anchored on a
      // target border that is
      // perpendicular to the vp border, allow the aligned el to slide on that
      // border,
      // otherwise swap the aligned el to the opposite border of the target.
      boolean swapY = (anch1.isTop() && anch2.isBottom()) || (anch1.isBottom() && anch2.isTop());
      boolean swapX = (anch1.isRight() && anch2.isLeft()) || (anch1.isLeft() && anch2.isRight());

      // EXTGWT-1730 only applying 5 when there is scrolling. 5 may be able to
      // be removed
      // but not sure why this was added in first place. it exists in 2.0
      int scrollX = XDOM.getBodyScrollLeft();

      if (scrollX > 0) {
        scrollX += 5;
      }
      int scrollY = XDOM.getBodyScrollTop();
      if (scrollY > 0) {
        scrollY += 5;
      }

      if ((x + w) > dw + scrollX) {
        x = swapX ? r.getLeft() - w : dw + scrollX - w;
      }
      if (x < scrollX) {
        x = swapX ? r.getRight() : scrollX;
      }

      if ((y + h) > (dh + scrollY)) {
        y = swapY ? r.getTop() - h : dh + scrollY - h;
      }
      if (y < scrollY) {
        y = swapY ? r.getBottom() : scrollY;
      }
    }

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

   *
   * @return a region containing top, left, bottom, right
   */
  public final Region getRegion() {
    Rectangle bounds = getBounds();
    Region r = new Region();
    r.setLeft(bounds.getX());
    r.setTop(bounds.getY());
    r.setRight(r.getLeft() + bounds.getWidth());
    r.setBottom(r.getTop() + bounds.getHeight());
    return r;
  }
View Full Code Here

   *
   * @param offsets return what was given with added anchor amount depending on side. Adds a couple pixels for spacing.
   * @return offsets
   */
  private int[] getAddAnchorToRange(int[] offsets) {
    Region ar = XElement.as(anchorEl).getRegion();
    // Note things are inverted from screen to code
    switch (toolTipConfig.getAnchor()) {
      case TOP:
        offsets[0] = 0;
        offsets[1] += ar.getBottom() - ar.getTop() + 2;
        break;
      case BOTTOM:
        offsets[0] = 0;
        offsets[1] += ar.getBottom() - ar.getTop() + 2;
        break;
      case RIGHT:
        offsets[0] = ar.getRight() - ar.getLeft() + 2;
        offsets[1] = 0;
        break;
      case LEFT:
        offsets[0] = ar.getRight() - ar.getLeft() + 2;
        offsets[1] = 0;
        break;
    }
    return offsets;
  }
View Full Code Here

          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);
        }
      }

View Full Code Here

    if (constrainViewport) {
      // constrain the aligned el to viewport if necessary
      int w = getOffsetWidth();
      int h = getOffsetHeight();
      Region r = el.getRegion();
      // 5px of margin for ie
      int dw = XDOM.getViewWidth(false) - 10;
      int dh = XDOM.getViewHeight(false) - 10;

      // If we are at a viewport boundary and the aligned el is anchored on a
      // target border that is
      // perpendicular to the vp border, allow the aligned el to slide on that
      // border,
      // otherwise swap the aligned el to the opposite border of the target.
      char p1y = p1.charAt(0), p1x = p1.charAt(p1.length() - 1);
      char p2y = p2.charAt(0), p2x = p2.charAt(p2.length() - 1);

      boolean swapY = ((p1y == 't' && p2y == 'b') || (p1y == 'b' && p2y == 't'));
      boolean swapX = ((p1x == 'r' && p2x == 'l') || (p1x == 'l' && p2x == 'r'));

      // EXTGWT-1730 only applying 5 when there is scrolling. 5 may be able to
      // be removed
      // but not sure why this was added in first place. it exists in 2.0
      int scrollX = XDOM.getBodyScrollLeft();

      if (scrollX > 0) {
        scrollX += 5;
      }
      int scrollY = XDOM.getBodyScrollTop();
      if (scrollY > 0) {
        scrollY += 5;
      }

      if ((x + w) > dw + scrollX) {
        x = swapX ? r.getLeft() - w : dw + scrollX - w;
      }
      if (x < scrollX) {
        x = swapX ? r.getRight() : scrollX;
      }

      if ((y + h) > (dh + scrollY)) {
        y = swapY ? r.getTop() - h : dh + scrollY - h;
      }
      if (y < scrollY) {
        y = swapY ? r.getBottom() : scrollY;
      }
    }

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

   *
   * @return a region containing top, left, bottom, right
   */
  public final Region getRegion() {
    Rectangle bounds = getBounds();
    Region r = new Region();
    r.setLeft(bounds.getX());
    r.setTop(bounds.getY());
    r.setRight(r.getLeft() + bounds.getWidth());
    r.setBottom(r.getTop() + bounds.getHeight());
    return r;
  }
View Full Code Here

      int cols = cm.getColumnCount();
      for (int i = 0, len = cols; i < len; i++) {
        if (cm.isHidden(i) || !cm.isResizable(i)) continue;
        Element hd = getHead(i).getElement();
        if (hd != null) {
          Region rr = XElement.as(hd).getRegion();
          if (startX > rr.getRight() - 5 && startX < rr.getRight() + 5) {
            colIndex = heads.indexOf(getHead(i));
            if (colIndex != -1) break;
          }
        }
      }
View Full Code Here

          before = i;
          break;
        }
      }
      int x = event.getClientX();
      Region r = header.getElement().getRegion();
      int hw = splitterWidth;

      getElement().setY(XElement.as(container.getElement()).getY());
      getElement().setHeight(container.getOffsetHeight());

      Style ss = getElement().getStyle();

      if (x - r.getLeft() <= hw && before != -1 && cm.isResizable(before) && !cm.isFixed(before)) {
        bar.getElement().setVisibility(true);
        getElement().setX(r.getLeft() - (hw / 2));
        ss.setProperty("cursor", GXT.isSafari() ? "e-resize" : "col-resize");
      } else if (r.getRight() - x <= hw && cm.isResizable(activeHdIndex) && !cm.isFixed(activeHdIndex)) {
        bar.getElement().setVisibility(true);
        getElement().setX(r.getRight() - (hw / 2));
        ss.setProperty("cursor", GXT.isSafari() ? "w-resize" : "col-resize");
      } else {
        bar.getElement().setVisibility(false);
        ss.setProperty("cursor", "");
      }
View Full Code Here

TOP

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

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.