Skip to main content

ActionControls

Trait ActionControls 

pub trait ActionControls: Widget {
    // Provided methods
    fn install_control_custody(
        &mut self,
        domain: &ControlDomain,
        attachment: CustodyAttachment,
    ) { ... }
    fn take_control_invocation(&mut self) -> Option<ControlInvocation> { ... }
    fn take_attributed_control_invocation(
        &mut self,
    ) -> Option<(ControlInvocation, Option<InvocationId>)> { ... }
    fn on_control_invocation_result(
        &mut self,
        address: &ActionAddress,
        result: &Result<ResourceOperationStart, DoorError>,
    ) { ... }
    fn control_action_bindings(&self) -> Vec<ControlBindingMetadata> { ... }
    fn action_control_bindings(&self) -> Vec<ControlBindingMetadata> { ... }
    fn has_action_control_bindings(&self) -> bool { ... }
    fn refresh_control_action_availability(
        &mut self,
        allowed: &HashSet<ActionAddress>,
    ) { ... }
    fn has_pending_control_invocation(&self) -> bool { ... }
}
Expand description

A widget that owns action-bound controls.

Provided Methods§

fn install_control_custody( &mut self, domain: &ControlDomain, attachment: CustodyAttachment, )

Bind retained producers before their first callback. Private holders must override this; child traversal alone never certifies full coverage.

fn take_control_invocation(&mut self) -> Option<ControlInvocation>

Drain one queued action-bound control intent from this subtree.

fn take_attributed_control_invocation( &mut self, ) -> Option<(ControlInvocation, Option<InvocationId>)>

Self::take_control_invocation, with the effect invocation the intent continues when an effect’s handler or completion queued it: the host applies it for that invocation’s invoker.

fn on_control_invocation_result( &mut self, address: &ActionAddress, result: &Result<ResourceOperationStart, DoorError>, )

Report the admission result of one queued local control invocation. Accepted means queued, not completed; confirmation remains an error while the host offers its normal confirmation UI. This notification grants no document authority and must not retry the invocation itself.

fn control_action_bindings(&self) -> Vec<ControlBindingMetadata>

Inventory action-native and explicitly legacy controls. A widget that owns an emitter prepends its metadata to its descendants’ inventory.

fn action_control_bindings(&self) -> Vec<ControlBindingMetadata>

Action-emitter bindings in the same order and exposure as the full inventory. Custom private inventories keep their authoritative default; wrappers can avoid allocating semantic-only accessibility snapshots.

fn has_action_control_bindings(&self) -> bool

Whether this exposed subtree contains controls consuming action availability. An override must match whether control_action_bindings contains an Action, including the same modal child exposure, regardless of current availability.

fn refresh_control_action_availability( &mut self, allowed: &HashSet<ActionAddress>, )

Push the fresh local permission-filtered action surface into every retained control: refresh this widget’s own emitter, then its children.

fn has_pending_control_invocation(&self) -> bool

Local control intent queued behind asynchronous startup preparation. A scheduling hint only; the host still checks live authority.

Implementors§