Package com.itextpdf.forms.form.renderer
Class AbstractSelectFieldRenderer
- java.lang.Object
-
- com.itextpdf.layout.renderer.AbstractRenderer
-
- com.itextpdf.layout.renderer.BlockRenderer
-
- com.itextpdf.forms.form.renderer.AbstractSelectFieldRenderer
-
- All Implemented Interfaces:
IPropertyContainer
,IRenderer
- Direct Known Subclasses:
SelectFieldComboBoxRenderer
,SelectFieldListBoxRenderer
public abstract class AbstractSelectFieldRenderer extends BlockRenderer
AbstractBlockRenderer
for select form fields.
-
-
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 Modifier Constructor Description protected
AbstractSelectFieldRenderer(AbstractSelectField modelElement)
Creates a newAbstractSelectFieldRenderer
instance.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected void
applyAccessibilityProperties(PdfFormField formField, PdfDocument pdfDocument)
Applies the accessibility properties to the form field.protected abstract void
applyAcroField(DrawContext drawContext)
Applies the AcroField widget.protected abstract IRenderer
createFlatRenderer()
Creates the flat renderer instance.void
draw(DrawContext drawContext)
Flushes the renderer subtree contents, i.e.void
drawChildren(DrawContext drawContext)
Performs the drawing operation for allchildren
of this renderer.protected PdfAConformanceLevel
getConformanceLevel(PdfDocument document)
Deprecated.since 8.0.4 will be returnIConformanceLevel
protected float
getFinalSelectFieldHeight(float availableHeight, float actualHeight, boolean isClippedHeight)
Returns final height of the select field.protected IConformanceLevel
getGenericConformanceLevel(PdfDocument document)
Deprecated.since 8.0.4 will be renamed to getConformanceLevel()protected java.lang.String
getLang()
Gets the accessibility language.protected java.lang.String
getModelId()
Gets the model id.protected java.util.List<IRenderer>
getOptionsMarkedSelected(IRenderer optionsSubTree)
Gets options that are marked as selected from the select field options subtree.protected boolean
isFlatten()
Checks if form fields need to be flattened.(package private) static boolean
isOptGroupRenderer(IRenderer renderer)
(package private) static boolean
isOptionRenderer(IRenderer child)
LayoutResult
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 LayoutResult
makeLayoutResultFull(LayoutArea layoutArea, LayoutResult layoutResult)
protected void
setupBuilderValues(ChoiceFormFieldBuilder builder, AbstractSelectField field)
Retrieve the options from select field (can be combo box or list box field) and set them to the form field builder.protected void
writeAcroFormFieldLangAttribute(PdfDocument pdfDoc)
Sets the form accessibility language identifier of the form element in case the document is tagged.-
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, allowLastYLineRecursiveExtraction, 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
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.itextpdf.layout.renderer.IRenderer
getNextRenderer
-
-
-
-
Constructor Detail
-
AbstractSelectFieldRenderer
protected AbstractSelectFieldRenderer(AbstractSelectField modelElement)
Creates a newAbstractSelectFieldRenderer
instance.- Parameters:
modelElement
- the model element
-
-
Method Detail
-
layout
public LayoutResult 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. 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 classBlockRenderer
- Parameters:
layoutContext
- the description of layout area and any other additional information- Returns:
- result of the layout process
-
draw
public void draw(DrawContext drawContext)
Flushes the renderer subtree contents, i.e. draws itself on canvas, adds necessary objects to thePdfDocument
etc.- Specified by:
draw
in interfaceIRenderer
- Overrides:
draw
in classBlockRenderer
- Parameters:
drawContext
- contains thePdfDocument
to which the renderer subtree if flushed, thePdfCanvas
on which the renderer subtree is drawn and other additional parameters needed to perform drawing
-
drawChildren
public void drawChildren(DrawContext drawContext)
Performs the drawing operation for allchildren
of this renderer.- Overrides:
drawChildren
in classAbstractRenderer
- Parameters:
drawContext
- the context (canvas, document, etc) of this drawing operation.
-
getLang
protected java.lang.String getLang()
Gets the accessibility language.- Returns:
- the accessibility language.
-
writeAcroFormFieldLangAttribute
protected void writeAcroFormFieldLangAttribute(PdfDocument pdfDoc)
Sets the form accessibility language identifier of the form element in case the document is tagged.- Parameters:
pdfDoc
- the document which contains form field.
-
applyAccessibilityProperties
protected void applyAccessibilityProperties(PdfFormField formField, PdfDocument pdfDocument)
Applies the accessibility properties to the form field.- Parameters:
formField
- The form field to which the accessibility properties should be applied.pdfDocument
- The document to which the form field belongs.
-
createFlatRenderer
protected abstract IRenderer createFlatRenderer()
Creates the flat renderer instance.- Returns:
IRenderer
instance.
-
applyAcroField
protected abstract void applyAcroField(DrawContext drawContext)
Applies the AcroField widget.- Parameters:
drawContext
- the draw context
-
isFlatten
protected boolean isFlatten()
Checks if form fields need to be flattened.- Returns:
- true, if fields need to be flattened.
-
getModelId
protected java.lang.String getModelId()
Gets the model id.- Returns:
- the model id.
-
setupBuilderValues
protected void setupBuilderValues(ChoiceFormFieldBuilder builder, AbstractSelectField field)
Retrieve the options from select field (can be combo box or list box field) and set them to the form field builder.- Parameters:
builder
-ChoiceFormFieldBuilder
to set options tofield
-AbstractSelectField
to retrieve the options from
-
getFinalSelectFieldHeight
protected float getFinalSelectFieldHeight(float availableHeight, float actualHeight, boolean isClippedHeight)
Returns final height of the select field.- 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.
-
getConformanceLevel
@Deprecated protected PdfAConformanceLevel getConformanceLevel(PdfDocument document)
Deprecated.since 8.0.4 will be returnIConformanceLevel
Gets the conformance level. If the conformance level is not set, the conformance level of the document is used.- Parameters:
document
- the document- Returns:
- the conformance level or null if the conformance level is not set.
-
getGenericConformanceLevel
@Deprecated protected IConformanceLevel getGenericConformanceLevel(PdfDocument document)
Deprecated.since 8.0.4 will be renamed to getConformanceLevel()Gets the conformance level. If the conformance level is not set, the conformance level of the document is used.- Parameters:
document
- the document- Returns:
- the conformance level or null if the conformance level is not set.
-
getOptionsMarkedSelected
protected java.util.List<IRenderer> getOptionsMarkedSelected(IRenderer optionsSubTree)
Gets options that are marked as selected from the select field options subtree.- Parameters:
optionsSubTree
- options subtree to get selected options- Returns:
- selected options list.
-
isOptGroupRenderer
static boolean isOptGroupRenderer(IRenderer renderer)
-
isOptionRenderer
static boolean isOptionRenderer(IRenderer child)
-
makeLayoutResultFull
private LayoutResult makeLayoutResultFull(LayoutArea layoutArea, LayoutResult layoutResult)
-
-