Skip to main content

FormNodeMeta

Struct FormNodeMeta 

Source
pub struct FormNodeMeta {
Show 26 fields pub xfa_id: Option<String>, pub presence: Presence, pub page_break_before: bool, pub page_break_after: bool, pub break_target: Option<String>, pub content_area_break: bool, pub overflow_leader: Option<String>, pub overflow_trailer: Option<String>, pub keep_next_content_area: bool, pub keep_previous_content_area: bool, pub keep_intact_content_area: bool, pub layout_ready_script: Option<String>, pub event_scripts: Vec<EventScript>, pub data_bind_ref: Option<String>, pub data_bind_none: bool, pub style: FormNodeStyle, pub field_kind: FieldKind, pub group_kind: GroupKind, pub item_value: Option<String>, pub check_size: Option<f64>, pub display_items: Vec<String>, pub save_items: Vec<String>, pub runtime_listbox_items: Vec<(String, String)>, pub anchor_type: AnchorType, pub bound_data_node: Option<usize>, pub is_zero_instance_prototype: bool,
}
Expand description

Extended metadata for a form node.

Carries XFA attributes that the layout engine and dynamic scripting system need but that are not part of the core FormNode shape.

Fields§

§xfa_id: Option<String>

Optional XFA id attribute.

§presence: Presence

XFA presence attribute (visible/hidden/invisible/inactive).

§page_break_before: bool

Whether a page break should be inserted before this node.

§page_break_after: bool

Whether a page break should be inserted after this node.

§break_target: Option<String>

Target page area name/id for the break (e.g. “MP3”, “Page4_ID”).

§content_area_break: bool

Whether this node targets a specific content area via breakBefore targetType="contentArea". Such nodes should be excluded from the primary content flow (they go into small decorative areas like “flatten” or “eSign”).

§overflow_leader: Option<String>

Overflow leader reference name.

§overflow_trailer: Option<String>

Overflow trailer reference name.

§keep_next_content_area: bool

Keep with next content area.

§keep_previous_content_area: bool

Keep with previous content area.

§keep_intact_content_area: bool

Keep intact within content area.

§layout_ready_script: Option<String>

Layout-ready script (XFA S14.3).

§event_scripts: Vec<EventScript>

Event scripts collected from <event> and <calculate> children.

§data_bind_ref: Option<String>

Explicit XFA data binding ref from <bind ref="...">.

§data_bind_none: bool

Whether the node explicitly opts out of data binding via <bind match="none">.

§style: FormNodeStyle

Visual style (font, colors, borders).

§field_kind: FieldKind

The kind of field (text, checkbox, radio, etc.).

§group_kind: GroupKind

The kind of group (none or exclusive choice).

§item_value: Option<String>

Item value for fields inside an exclGroup.

§check_size: Option<f64>

Check box / radio button size in points.

§display_items: Vec<String>

Display items for choice list fields (XFA 3.3 §7.7).

§save_items: Vec<String>

Save items for choice list fields (XFA 3.3 §7.7).

§runtime_listbox_items: Vec<(String, String)>

Runtime-populated choice list items from sandboxed script addItem calls. Each tuple is (display_value, save_value). Phase D-β only; layout does not yet read this in default mode.

§anchor_type: AnchorType

XFA anchorType for positioned layout (XFA 3.3 §2.6, App A p1510).

§bound_data_node: Option<usize>

Raw DataDom arena index of the data node this form node was bound to during the merge phase. None means unbound. Phase D-γ: populated by FormMerger and consumed by the JS runtime to resolve $record.

§is_zero_instance_prototype: bool

True when this node is a synthetic prototype for a repeating subform whose live instance count is currently zero. Used by the JS runtime to expose an InstanceManager via parent._child even when no data bindings produced live rows. Layout treats this as presence = Hidden.

Trait Implementations§

Source§

impl Clone for FormNodeMeta

Source§

fn clone(&self) -> FormNodeMeta

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for FormNodeMeta

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl Default for FormNodeMeta

Source§

fn default() -> FormNodeMeta

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.