Class SelectFieldListBoxRenderer

All Implemented Interfaces:
IPropertyContainer, IRenderer

public class SelectFieldListBoxRenderer extends AbstractSelectFieldRenderer
The SelectFieldListBoxRenderer implementation for select field renderer.
  • Constructor Details

  • Method Details

    • getNextRenderer

      public IRenderer getNextRenderer()
      Description copied from interface: IRenderer
      Gets a new instance of this class to be used as a next renderer, after this renderer is used, if IRenderer.layout(LayoutContext) is called more than once.
      Returns:
      new renderer instance
    • layout

      public LayoutResult layout(LayoutContext layoutContext)
      Description copied from class: AbstractSelectFieldRenderer
      This method simulates positioning of the renderer, including all of its children, and returns the LayoutResult, representing the layout result, including occupied area, status, i.e. if there was enough place to fit the renderer subtree, etc. LayoutResult can be extended to return custom layout results for custom elements, e.g. TextRenderer uses TextLayoutResult as its result. This method can be called standalone to learn how much area the renderer subtree needs, or can be called before IRenderer.draw(DrawContext), to prepare the renderer to be flushed to the output stream.
      Specified by:
      layout in interface IRenderer
      Overrides:
      layout in class AbstractSelectFieldRenderer
      Parameters:
      layoutContext - the description of layout area and any other additional information
      Returns:
      result of the layout process
    • allowLastYLineRecursiveExtraction

      protected boolean allowLastYLineRecursiveExtraction()
      Overrides:
      allowLastYLineRecursiveExtraction in class AbstractRenderer
    • createFlatRenderer

      protected IRenderer createFlatRenderer()
      Description copied from class: AbstractSelectFieldRenderer
      Creates the flat renderer instance.
      Specified by:
      createFlatRenderer in class AbstractSelectFieldRenderer
      Returns:
      IRenderer instance.
    • getFinalSelectFieldHeight

      protected float getFinalSelectFieldHeight(float availableHeight, float actualHeight, boolean isClippedHeight)
      Description copied from class: AbstractSelectFieldRenderer
      Returns final height of the select field.
      Overrides:
      getFinalSelectFieldHeight in class AbstractSelectFieldRenderer
      Parameters:
      availableHeight - available height of the layout area
      actualHeight - actual occupied height of the select field
      isClippedHeight - indicates whether the layout area's height is clipped or not
      Returns:
      final height of the select field.
    • applyAcroField

      protected void applyAcroField(DrawContext drawContext)
      Description copied from class: AbstractSelectFieldRenderer
      Applies the AcroField widget.
      Specified by:
      applyAcroField in class AbstractSelectFieldRenderer
      Parameters:
      drawContext - the draw context
    • getCalculatedHeight

      private float getCalculatedHeight(IRenderer flatRenderer)
    • getMaxOptionActualHeight

      private float getMaxOptionActualHeight(IRenderer flatRenderer)
    • getSelectedOptions

      private List<IRenderer> getSelectedOptions(IRenderer rendererSubTree)
    • isMultiple

      private boolean isMultiple()
    • applySelectedStyle

      private void applySelectedStyle(IRenderer selectedOption)
    • setFontColorRecursively

      private void setFontColorRecursively(IRenderer selectedOption)
      The `select` tag has default color css property, therefore it makes sense to explicitly override this property to all children, otherwise it will be not applied due to the css resolving mechanism.