class HexaPDF::Type::AcroForm::ChoiceField

Parent

AcroForm choice fields contain multiple text items of which one (or, if so flagged, more) may be selected.

They are divided into scrollable list boxes and combo boxes. To create a list or combo box, use the appropriate convenience methods on the main Form instance (HexaPDF::Document#acro_form). By using those methods, everything needed is automatically set up.

Type Specific Field Flags

:combo

If set, the field represents a comb box.

:edit

If set, the combo box includes an editable text box for entering arbitrary values. Therefore the 'combo' flag also needs to be set.

:sort

The option items have to be sorted alphabetically. This flag is intended for PDF writers, not readers which should display the items in the order they appear.

:multi_select

If set, more than one item may be selected.

:do_not_spell_check

The text should not be spell-checked.

:commit_on_sel_change

If set, a new value should be commited as soon as a selection is made.

See: PDF1.7 s12.7.4.4

Constants

FLAGS_BIT_MAPPING

Updated list of field flags.

Public Instance Methods

combo_box?()

Returns true if this choice field represents a combo box.

concrete_field_type()

Returns the concrete choice field type, either :list_box, :combo_box or :editable_combo_box.

create_appearances()

Creates appropriate appearances for all widgets if they don't already exist.

For information on how this is done see AppearanceGenerator.

Note that an appearance for a choice field widget is always created even if there is an existing one to make sure the current field value is properly represented.

default_field_value()

Returns the default field value.

See: field_value

default_field_value=(value)

Sets the default field value.

See: field_value=

field_value()

Returns the field value which represents the currently selected item(s).

If no item is selected, nil is returned. If multiple values are selected, the return value is an array of strings, otherwise it is just a string.

field_value=(value)

Sets the field value to the given string or array of strings.

initialize_as_combo_box()

Initializes the button field to be a combo box.

This method should only be called directly after creating a new choice field because it doesn't completely reset the object.

initialize_as_list_box()

Initializes the choice field to be a list box.

This method should only be called directly after creating a new choice field because it doesn't completely reset the object.

list_box?()

Returns true if this choice field represents a list box.

option_items()

Returns the array with the available option items.

option_items=(value)

Sets the array with the available option items to the given value.