Skip to main content

activate

Function activate 

Source
pub fn activate(
    state: &mut ToggleState,
    kind: ToggleKind,
    read_only: bool,
) -> bool
Expand description

Activates a control — what a click or a Return or Space does.

Returns whether the state moved. A read-only control never moves, but its caller still reports the event as consumed.

use pdfrum_form::field::{ToggleKind, ToggleState, activate, toggle::OFF_STATE};

let mut state = ToggleState::new(OFF_STATE, "On");
assert!(activate(&mut state, ToggleKind::Check, false));
assert!(state.is_checked());

// A radio button re-activated is a no-op, not a clear.
let mut radio = ToggleState::new(OFF_STATE, "On");
activate(&mut radio, ToggleKind::Radio, false);
assert!(!activate(&mut radio, ToggleKind::Radio, false));
assert!(radio.is_checked());

// A read-only control does not move.
let mut fixed = ToggleState::new(OFF_STATE, "On");
assert!(!activate(&mut fixed, ToggleKind::Check, true));
assert!(!fixed.is_checked());