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
The
SelectFieldListBoxRenderer
implementation 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
ConstructorsConstructorDescriptionSelectFieldListBoxRenderer
(AbstractSelectField modelElement) Creates a newSelectFieldListBoxRenderer
instance. -
Method Summary
Modifier and TypeMethodDescriptionprotected boolean
protected void
applyAcroField
(DrawContext drawContext) Applies the AcroField widget.private void
applySelectedStyle
(IRenderer selectedOption) protected IRenderer
Creates the flat renderer instance.private float
getCalculatedHeight
(IRenderer flatRenderer) protected float
getFinalSelectFieldHeight
(float availableHeight, float actualHeight, boolean isClippedHeight) Returns final height of the select field.private float
getMaxOptionActualHeight
(IRenderer flatRenderer) 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.getSelectedOptions
(IRenderer rendererSubTree) private boolean
layout
(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 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.Methods inherited from class com.itextpdf.forms.form.renderer.AbstractSelectFieldRenderer
applyAccessibilityProperties, draw, drawChildren, getConformanceLevel, getGenericConformanceLevel, 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, 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, retrieveUnitValue, retrieveUnitValue, retrieveWidth, setBorders, setMinMaxWidthBasedOnFixedWidth, setParent, setProperty, toString, transformPoints, updateHeight, updateHeightsOnSplit, updateMaxHeight, updateMinHeight, updateWidth
-
Constructor Details
-
SelectFieldListBoxRenderer
Creates a newSelectFieldListBoxRenderer
instance.- Parameters:
modelElement
- the model element
-
-
Method Details
-
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, ifIRenderer.layout(LayoutContext)
is called more than once.- Returns:
- new renderer instance
-
layout
Description copied from class:AbstractSelectFieldRenderer
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. 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
usesTextLayoutResult
as 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:
layout
in interfaceIRenderer
- Overrides:
layout
in classAbstractSelectFieldRenderer
- 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 classAbstractRenderer
-
createFlatRenderer
Description copied from class:AbstractSelectFieldRenderer
Creates the flat renderer instance.- Specified by:
createFlatRenderer
in classAbstractSelectFieldRenderer
- 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 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
Description copied from class:AbstractSelectFieldRenderer
Applies the AcroField widget.- Specified by:
applyAcroField
in classAbstractSelectFieldRenderer
- Parameters:
drawContext
- the draw context
-
getCalculatedHeight
-
getMaxOptionActualHeight
-
getSelectedOptions
-
isMultiple
private boolean isMultiple() -
applySelectedStyle
-
setFontColorRecursively
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.
-