Package org.apache.myfaces.tobago.layout

Examples of org.apache.myfaces.tobago.layout.Measure


    final AbstractUILink link = (AbstractUILink) component;
    final LabelWithAccessKey label = new LabelWithAccessKey(link);
    final String text = label.getText();
    final String image = link.getImage();

    Measure width = PixelMeasure.ZERO;
    if (text != null) {
      final Measure m = RenderUtils.calculateStringWidth(facesContext, link, text);
      width = width.add(m);
    }
    if ((text != null && image != null)) {
      width = width.add(4);
    }
View Full Code Here


      public Markup getCurrentMarkup() {
        return Markup.valueOf("test");
      }
    };

    final Measure value = ResourceManagerUtils.getThemeMeasure(FacesContext.getCurrentInstance(), c, "testValue");

    return value;
  }
View Full Code Here

      }
    }

    if (intervals.size() >= 1) {
      intervals.evaluate();
      Measure size = intervals.getCurrent();
/*
      size = size.add(LayoutUtils.getBorderBegin(orientation, getLayoutContainer()));
      size = size.add(LayoutUtils.getBorderEnd(orientation, getLayoutContainer()));
*/
      LayoutUtils.setCurrentSize(orientation, getLayoutContainer(), size);
View Full Code Here

    // find *
    if (orientation == Orientation.HORIZONTAL && !horizontalAuto
        || orientation == Orientation.VERTICAL && !verticalAuto) {
      // find rest
      LayoutContainer container = getLayoutContainer();
      Measure available = LayoutUtils.getCurrentSize(orientation, container);
      if (available != null) {
        for (LayoutComponent component : getLayoutContainer().getComponents()) {
          LayoutUtils.setCurrentSize(orientation, component, available);
        }
      } else {
View Full Code Here

  @Override
  public Measure getPreferredWidth(FacesContext facesContext, Configurable component) {

    UIButton button = (UIButton) component;
    Measure width = Measure.ZERO;
    boolean image = button.getImage() != null;
    if (image) {
      width = getResourceManager().getThemeMeasure(facesContext, button, "imageWidth");
    }
    LabelWithAccessKey label = new LabelWithAccessKey(button);

    width = width.add(RenderUtils.calculateStringWidth(facesContext, button, label.getText()));
    Measure padding = getResourceManager().getThemeMeasure(facesContext, button, "paddingWidth");
    // left padding, right padding and when an image and an text then a middle padding.
    width = width.add(padding.multiply(image && label.getText() != null ? 3 : 2));

    return width;
  }
View Full Code Here

  }

  @Override
  public Measure getBorderTop(FacesContext facesContext, Configurable component) {

    Measure borderTop = super.getBorderTop(facesContext, component);
    if (getMenuBarFacet((UIComponent) component) != null) {
      borderTop = borderTop.add(19); // todo: get via theme config
    }
    return borderTop;
  }
View Full Code Here

  }

  @Override
  public Measure getHeight(FacesContext facesContext, Configurable component) {
    UISelectOneRadio select = (UISelectOneRadio) component;
    Measure heightOfOne = super.getHeight(facesContext, component);
    if (select.isInline()) {
      return heightOfOne;
    } else {
      List<SelectItem> items = RenderUtils.getItemsToRender((UISelectOne) component);
      return heightOfOne.multiply(items.size());
    }
  }
View Full Code Here

    UIComponent label = box.getFacet(Facets.LABEL);
    String labelString = box.getLabel();
    UIPanel toolbar = (UIPanel) box.getFacet(Facets.TOOL_BAR);
    Style style = new Style(facesContext, box);
    if (toolbar != null) {
      Measure padding = getResourceManager().getThemeMeasure(facesContext, box, "paddingTopWhenToolbar");
      style.setPaddingTop(padding);
      style.setPaddingBottom(Measure.ZERO);
    }

    writer.startElement(HtmlElements.FIELDSET, box);
    writer.writeClassAttribute(Classes.create(box));
    String title = HtmlRendererUtils.getTitleFromTipAndMessages(facesContext, box);
    if (title != null) {
      writer.writeAttribute(HtmlAttributes.TITLE, title, true);
    }
    HtmlRendererUtils.writeDataAttributes(facesContext, writer, box);
    writer.writeStyleAttribute(style);

    if (label != null || labelString != null) {
      writer.startElement(HtmlElements.LEGEND, box);
      writer.writeClassAttribute(Classes.create(box, "legend"));

      if (label != null) {
        RenderUtils.encode(facesContext, label);
      } else {
        writer.writeText(labelString);
      }
      writer.endElement(HtmlElements.LEGEND);
    }

    Style contentStyle = new Style(facesContext, box);
    if (toolbar != null) {
      writer.startElement(HtmlElements.DIV, null);
      writer.writeClassAttribute(Classes.create(box, "toolbarOuter"));
      writer.startElement(HtmlElements.DIV, null);
      writer.writeClassAttribute(Classes.create(box, "toolbarInner"));
      toolbar.setRendererType(RendererTypes.BOX_TOOL_BAR);
      RenderUtils.encode(facesContext, toolbar);
      writer.endElement(HtmlElements.DIV);
      writer.endElement(HtmlElements.DIV);
      if (VariableResolverUtils.resolveClientProperties(facesContext).getUserAgent().isMsie()) {
// XXX check for what is this, and delete or comment it
        contentStyle.setTop(Measure.valueOf(-10));
      }
    }

    final UIMenuBar menuBar = getMenuBarFacet(box);
    if (menuBar != null) {
      RenderUtils.encode(facesContext, menuBar);
    }
   
    writer.startElement(HtmlElements.DIV, box);
    writer.writeClassAttribute(Classes.create(box, "content")); // needed to be scrollable inside of the box
    final Measure borderLeft = getBorderLeft(facesContext, box);
    final Measure borderRight = getBorderRight(facesContext, box);
    final Measure borderTop = getBorderTop(facesContext, box);
    final Measure borderBottom = getBorderBottom(facesContext, box);
    contentStyle.setWidth(contentStyle.getWidth().subtract(borderLeft).subtract(borderRight));
    contentStyle.setHeight(contentStyle.getHeight().subtract(borderTop).subtract(borderBottom));
    contentStyle.setLeft(borderLeft);
    contentStyle.setTop(borderTop);
    writer.writeStyleAttribute(contentStyle);
View Full Code Here

    return orientation == Orientation.HORIZONTAL ? component.getCurrentWidth() : component.getCurrentHeight();
  }

  public static void setCurrentSize(Orientation orientation, LayoutBase component, Measure size) {
    if (orientation == Orientation.HORIZONTAL) {
      final Measure width = component.getWidth();
      if (width != null) { // to not override set sizes
        size = width;
      } else {
        final Measure maximumWidth = component.getMaximumWidth();
        if (size.greaterThan(maximumWidth)) {
          size = maximumWidth;
        }
        final Measure minimumWidth = component.getMinimumWidth();
        if (size.lessThan(minimumWidth)) {
          size = minimumWidth;
        }
      }
      component.setCurrentWidth(size);
    } else {
      final Measure height = component.getHeight();
      if (height != null) { // to not override set sizes
        size = height;
      } else {
        final Measure maximumHeight = component.getMaximumHeight();
        if (size.greaterThan(maximumHeight)) {
          size = maximumHeight;
        }
        final Measure minimumHeight = component.getMinimumHeight();
        if (size.lessThan(minimumHeight)) {
          size = minimumHeight;
        }
      }
      component.setCurrentHeight(size);
View Full Code Here

  public void evaluate() {
    List<Measure> minimumList = collectMinimum();
    List<Measure> maximumList = collectMaximum();
    minimum = Measure.max(minimumList);
    Measure maximum = Measure.min(maximumList);
    if (minimum.greaterThan(maximum)) {
      if (LOG.isDebugEnabled()) {
        LOG.debug("Layout: Found a minimum constraint " + minimum
            + " which is greater than a maximum constraint " + maximum + "!");
      }
View Full Code Here

TOP

Related Classes of org.apache.myfaces.tobago.layout.Measure

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.