Package org.gwt.mosaic.core.client

Examples of org.gwt.mosaic.core.client.Dimension


   */
  public void layout() {
    if (windowPanels == null) {
      return;
    }
    final Dimension box = DOM.getClientSize(getElement());
    for (int i = 0, n = windowPanels.size(); i < n; i++) {
      final WindowPanel w = windowPanels.get(i);
      final Dimension d = WidgetHelper.getOffsetSize(w);

      final Point p = getPopupPosition(w);

      p.x -= Math.max(0, (p.x + w.getOffsetWidth()) - box.width);
      p.y -= Math.max(0, (p.y + w.getOffsetHeight()) - box.height);

      w.setPopupPosition(Math.max(0, p.x), Math.max(0, p.y));

      d.width = d.width > box.width ? box.width : -1;
      d.height = d.height > box.height ? box.height : -1;

      WidgetHelper.setSize(w, d);

      if (w.getWindowState() == WindowState.MAXIMIZED) {
        WidgetHelper.setSize(w, new Dimension(DOM.getClientSize(getElement())));
      }

      w.delayedLayout(CoreConstants.MIN_DELAY_MILLIS);
    }
  }
View Full Code Here


                });
              }
            }
            menu.setPopupPositionAndShow(new PositionCallback() {
              public void setPosition(int offsetWidth, int offsetHeight) {
                final Dimension box = WidgetHelper.getOffsetSize(tabBarMenuBtn);
                int left = DOM.getAbsoluteLeft(tabBarMenuBtn.getElement());
                if (left + offsetWidth > Window.getClientWidth()) {
                  left += box.width - offsetWidth;
                }
                final int top = DOM.getAbsoluteTop(tabBarMenuBtn.getElement())
View Full Code Here

   * @param widget the given {@code Widget}
   * @return a {@link Dimension} object that indicates the size of this
   *         component
   */
  public static Dimension getOffsetSize(final Widget widget) {
    return new Dimension(widget.getOffsetWidth(), widget.getOffsetHeight());
  }
View Full Code Here

      style.setPosition(Position.STATIC);
      style.setProperty("width", "auto");
      style.setProperty("height", "auto");
      style.setProperty("visibility", "hidden");
      parentElem.appendChild(clonedElem);
      final Dimension d = new Dimension(clonedElem.getOffsetWidth(),
          clonedElem.getOffsetHeight());
      parentElem.removeChild(clonedElem);
      return d;
    }
  }
View Full Code Here

   */
  @Override
  public void layout() {
    final Element elem = getElement();

    final Dimension size1 = new Dimension(elem.getClientWidth(),
        elem.getClientHeight());

    super.layout();

    final Dimension size2 = new Dimension(elem.getClientWidth(),
        elem.getClientHeight());

    if (!size1.equals(size2)) {
      // second layout() call will fix the layout after the
      // scrollbar appears/dissapears for the first time
View Full Code Here

   * @see org.gwt.mosaic.ui.client.layout.LayoutManager#getPreferredSize(org.gwt.mosaic.ui.client.layout.LayoutPanel)
   */
  public Dimension getPreferredSize(LayoutPanel layoutPanel) {
    assert layoutPanel != null;

    final Dimension result = new Dimension();

    if (!init(layoutPanel)) {
      return result;
    }

    int width = marginLeftMeasure.sizeOf(layoutPanel)
        + marginRightMeasure.sizeOf(layoutPanel)
        + borderLeftMeasure.sizeOf(layoutPanel)
        + borderRightMeasure.sizeOf(layoutPanel)
        + paddingLeftMeasure.sizeOf(layoutPanel)
        + paddingRightMeasure.sizeOf(layoutPanel);

    int height = marginTopMeasure.sizeOf(layoutPanel)
        + marginBottomMeasure.sizeOf(layoutPanel)
        + borderTopMeasure.sizeOf(layoutPanel)
        + borderBottomMeasure.sizeOf(layoutPanel)
        + paddingTopMeasure.sizeOf(layoutPanel)
        + paddingBottomMeasure.sizeOf(layoutPanel);

    final int size = visibleChildList.size();
    if (size == 0) {
      result.width = width;
      result.height = height;
      return result;
    }

    final int spacing = layoutPanel.getWidgetSpacing();
    height += ((size - 1) * spacing);

    Dimension decPanelFrameSize = null;

    int maxWidth = 0;

    for (Widget child : visibleChildList) {
      if (child instanceof InternalDecoratorPanel) {
        child = ((InternalDecoratorPanel) child).getWidget();
      }

      final Widget parent = child.getParent();
      if (parent instanceof InternalDecoratorPanel) {
        final InternalDecoratorPanel decPanel = (InternalDecoratorPanel) parent;
        final int borderSizes[] = decPanel.getBorderSizes();
        decPanelFrameSize = new Dimension(borderSizes[1] + borderSizes[3],
            borderSizes[0] + borderSizes[0]);
      }

      int w = preferredWidthMeasure.sizeOf(child);
      height += preferredHeightMeasure.sizeOf(child);
View Full Code Here

    final int size = visibleChildList.size();
    if (size == 0) {
      return;
    }

    final Dimension box = DOM.getClientSize(layoutPanel.getElement());
    final int spacing = layoutPanel.getWidgetSpacing();

    final int left = paddingLeftMeasure.sizeOf(layoutPanel);
    int top = paddingTopMeasure.sizeOf(layoutPanel);
    int width = box.width - (left + paddingRightMeasure.sizeOf(layoutPanel));
    int height = box.height - (top + paddingBottomMeasure.sizeOf(layoutPanel));

    int fillHeight = height;

    fillHeight -= ((size - 1) * spacing);

    int fillingHeight = 0;

    Dimension decPanelFrameSize = null;

    // 1st pass
    for (Widget child : visibleChildList) {
      if (child instanceof InternalDecoratorPanel) {
        child = ((InternalDecoratorPanel) child).getWidget();
      }

      RowLayoutData layoutData = getLayoutData(child);

      final Widget parent = child.getParent();
      if (parent instanceof InternalDecoratorPanel) {
        final InternalDecoratorPanel decPanel = (InternalDecoratorPanel) parent;
        final int borderSizes[] = decPanel.getBorderSizes();
        decPanelFrameSize = new Dimension(borderSizes[1] + borderSizes[3],
            borderSizes[0] + borderSizes[0]);
      }

      if (layoutData.getPreferredHeight() == null) {
        fillingHeight += layoutData.getFlexibility();
View Full Code Here

   * @see org.gwt.mosaic.ui.client.layout.LayoutManager#getPreferredSize(org.gwt.mosaic.ui.client.layout.LayoutPanel)
   */
  public Dimension getPreferredSize(LayoutPanel layoutPanel) {
    assert layoutPanel != null;

    final Dimension result = new Dimension();

    init(layoutPanel);

    result.width = layoutPanel.toPixelSize(width, true);
    result.height = layoutPanel.toPixelSize(height, false);
View Full Code Here

    if (!init(layoutPanel)) {
      return;
    }

    final Dimension box = DOM.getClientSize(layoutPanel.getElement());
    final int totalWidth = box.width;
    final int totalHeight = box.height;

    final int panelWidth = layoutPanel.toPixelSize(this.width, true);
    final int panelHeight = layoutPanel.toPixelSize(this.height, false);

    final double deltaX = totalWidth - panelWidth;
    final double deltaY = totalHeight - panelHeight;

    for (Widget child : visibleChildList) {
      AbsoluteLayoutData layoutData = getLayoutData(child);
     
      Dimension decPanelFrameSize = null;

      final Widget parent = child.getParent();
      if (parent instanceof InternalDecoratorPanel) {
        final InternalDecoratorPanel decPanel = (InternalDecoratorPanel) parent;
        final int borderSizes[] = decPanel.getBorderSizes();
        decPanelFrameSize = new Dimension(borderSizes[1] + borderSizes[3],
            borderSizes[0] + borderSizes[0]);
      }

      final Dimension clientSize = new Dimension(preferredWidthMeasure.sizeOf(child),
          preferredHeightMeasure.sizeOf(child));

      if (clientSize.width == -1) {
        clientSize.width = getPreferredSize(layoutPanel, child, layoutData).width;
      }
View Full Code Here

    if (widget instanceof HasLayoutManager) {
      final HasLayoutManager lp = (HasLayoutManager) widget;

      if (layoutData.getPreferredWidth() != null
          && layoutData.getPreferredHeight() != null) {
        return new Dimension(layoutPanel.toPixelSize(
            layoutData.getPreferredWidth(), true), layoutPanel.toPixelSize(
            layoutData.getPreferredHeight(), false));
      }

      final Dimension result = lp.getPreferredSize();

      if (layoutData.getPreferredWidth() != null) {
        result.width = layoutPanel.toPixelSize(layoutData.getPreferredWidth(),
            true);
      }

      if (layoutData.getPreferredHeight() != null) {
        result.height = layoutPanel.toPixelSize(
            layoutData.getPreferredHeight(), false);
      }

      return result;

    } else {

      if (layoutData.getPreferredWidth() != null
          && layoutData.getPreferredHeight() != null) {
        return new Dimension(layoutPanel.toPixelSize(
            layoutData.getPreferredWidth(), true), layoutPanel.toPixelSize(
            layoutData.getPreferredHeight(), false));
      }

      final Dimension result = new Dimension();

      final Element parentElem = layoutPanel.getElement();
      final Element clonedElem = widget.getElement().cloneNode(true).cast();

      final Style style = clonedElem.getStyle();
View Full Code Here

TOP

Related Classes of org.gwt.mosaic.core.client.Dimension

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.