Package com.itextpdf.forms.form.renderer
Class SelectFieldListBoxRenderer
- java.lang.Object
-
- com.itextpdf.layout.renderer.AbstractRenderer
-
- com.itextpdf.layout.renderer.BlockRenderer
-
- com.itextpdf.forms.form.renderer.AbstractSelectFieldRenderer
-
- com.itextpdf.forms.form.renderer.SelectFieldListBoxRenderer
-
- All Implemented Interfaces:
IPropertyContainer,IRenderer
public class SelectFieldListBoxRenderer extends AbstractSelectFieldRenderer
TheSelectFieldListBoxRendererimplementation for select field renderer.
-
-
Field Summary
-
Fields inherited from class com.itextpdf.layout.renderer.AbstractRenderer
childRenderers, EPS, flushed, INF, isLastRendererForModelElement, modelElement, occupiedArea, OVERLAP_EPSILON, parent, positionedRenderers, properties
-
-
Constructor Summary
Constructors Constructor Description SelectFieldListBoxRenderer(AbstractSelectField modelElement)Creates a newSelectFieldListBoxRendererinstance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected booleanallowLastYLineRecursiveExtraction()protected voidapplyAcroField(DrawContext drawContext)Applies the AcroField widget.private voidapplySelectedStyle(IRenderer selectedOption)protected IRenderercreateFlatRenderer()Creates the flat renderer instance.private floatgetCalculatedHeight(IRenderer flatRenderer)protected floatgetFinalSelectFieldHeight(float availableHeight, float actualHeight, boolean isClippedHeight)Returns final height of the select field.private floatgetMaxOptionActualHeight(IRenderer flatRenderer)IRenderergetNextRenderer()Gets a new instance of this class to be used as a next renderer, after this renderer is used, ifIRenderer.layout(LayoutContext)is called more than once.private java.util.List<IRenderer>getSelectedOptions(IRenderer rendererSubTree)private booleanisMultiple()LayoutResultlayout(LayoutContext layoutContext)This method simulates positioning of the renderer, including all of its children, and returns theLayoutResult, representing the layout result, including occupied area, status, i.e.private voidsetFontColorRecursively(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.-
Methods inherited from class com.itextpdf.forms.form.renderer.AbstractSelectFieldRenderer
applyAccessibilityProperties, draw, drawChildren, getConformance, getLang, getModelId, getOptionsMarkedSelected, isFlatten, isOptGroupRenderer, isOptionRenderer, setupBuilderValues, writeAcroFormFieldLangAttribute
-
Methods inherited from class com.itextpdf.layout.renderer.BlockRenderer
applyRotationLayout, applyVerticalAlignment, beginRotationIfApplied, createOverflowRenderer, createRotationTransformInsideOccupiedArea, createSplitRenderer, endRotationIfApplied, getMinMaxWidth, getMinMaxWidth, getOccupiedAreaBBox, getResolvedFont
-
Methods inherited from class com.itextpdf.layout.renderer.AbstractRenderer
addAllProperties, addChild, alignChildHorizontally, applyAbsolutePosition, applyAction, applyBorderBox, applyBorderBox, applyDestination, applyDestinationsAndAnnotation, applyLinkAnnotation, applyMargins, applyMargins, applyPaddings, applyPaddings, applyRelativePositioningTranslation, beginElementOpacityApplying, beginTransformationIfApplied, calculateAbsolutePdfBBox, calculateBBox, calculateShiftToPositionBBoxOfPointsAt, clipBackgroundArea, clipBackgroundArea, clipBorderArea, createXObject, deleteOwnProperty, deleteProperty, drawBackground, drawBorder, endElementOpacityApplying, endTransformationIfApplied, getBackgroundArea, getBorderAreaBBox, getBorderRadii, getBorders, getChildRenderers, getDefaultProperty, getFirstYLineRecursively, getInnerAreaBBox, getLastYLineRecursively, getMargins, getModelElement, getOccupiedArea, getOwnProperties, getOwnProperty, getPaddings, getParent, getProperty, getProperty, getPropertyAsBoolean, getPropertyAsColor, getPropertyAsFloat, getPropertyAsFloat, getPropertyAsFont, getPropertyAsInteger, getPropertyAsTransparentColor, getPropertyAsUnitValue, hasAbsoluteUnitValue, hasOwnOrModelProperty, hasOwnProperty, hasProperty, hasRelativeUnitValue, initElementAreas, isAbsolutePosition, isBorderBoxSizing, isFirstOnRootArea, isFixedLayout, isFlushed, isKeepTogether, isNotFittingHeight, isNotFittingLayoutArea, isNotFittingWidth, isOverflowFit, isOverflowProperty, isOverflowProperty, isOverflowProperty, isPositioned, isRelativePosition, isStaticLayout, move, rectangleToPointsList, retrieveHeight, retrieveMaxHeight, retrieveMaxWidth, retrieveMinHeight, retrieveMinWidth, retrieveResolvedDeclaredHeight, retrieveUnitValue, retrieveUnitValue, retrieveWidth, setBorders, setMinMaxWidthBasedOnFixedWidth, setParent, setProperty, toString, transformPoints, updateHeight, updateHeightsOnSplit, updateMaxHeight, updateMinHeight, updateWidth
-
-
-
-
Constructor Detail
-
SelectFieldListBoxRenderer
public SelectFieldListBoxRenderer(AbstractSelectField modelElement)
Creates a newSelectFieldListBoxRendererinstance.- Parameters:
modelElement- the model element
-
-
Method Detail
-
getNextRenderer
public IRenderer getNextRenderer()
Description copied from interface:IRendererGets a new instance of this class to be used as a next renderer, after this renderer is used, ifIRenderer.layout(LayoutContext)is called more than once.- Returns:
- new renderer instance
-
layout
public LayoutResult layout(LayoutContext layoutContext)
Description copied from class:AbstractSelectFieldRendererThis method simulates positioning of the renderer, including all of its children, and returns theLayoutResult, representing the layout result, including occupied area, status, i.e. if there was enough place to fit the renderer subtree, etc.LayoutResultcan be extended to return custom layout results for custom elements, e.g.TextRendererusesTextLayoutResultas its result. This method can be called standalone to learn how much area the renderer subtree needs, or can be called beforeIRenderer.draw(DrawContext), to prepare the renderer to be flushed to the output stream.- Specified by:
layoutin interfaceIRenderer- Overrides:
layoutin classAbstractSelectFieldRenderer- Parameters:
layoutContext- the description of layout area and any other additional information- Returns:
- result of the layout process
-
allowLastYLineRecursiveExtraction
protected boolean allowLastYLineRecursiveExtraction()
- Overrides:
allowLastYLineRecursiveExtractionin classAbstractRenderer
-
createFlatRenderer
protected IRenderer createFlatRenderer()
Description copied from class:AbstractSelectFieldRendererCreates the flat renderer instance.- Specified by:
createFlatRendererin classAbstractSelectFieldRenderer- Returns:
IRendererinstance.
-
getFinalSelectFieldHeight
protected float getFinalSelectFieldHeight(float availableHeight, float actualHeight, boolean isClippedHeight)Description copied from class:AbstractSelectFieldRendererReturns final height of the select field.- Overrides:
getFinalSelectFieldHeightin classAbstractSelectFieldRenderer- Parameters:
availableHeight- available height of the layout areaactualHeight- actual occupied height of the select fieldisClippedHeight- 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:AbstractSelectFieldRendererApplies the AcroField widget.- Specified by:
applyAcroFieldin classAbstractSelectFieldRenderer- Parameters:
drawContext- the draw context
-
getCalculatedHeight
private float getCalculatedHeight(IRenderer flatRenderer)
-
getMaxOptionActualHeight
private float getMaxOptionActualHeight(IRenderer flatRenderer)
-
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.
-
-