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,
)
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>
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>)>
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>,
)
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>
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>
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
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>,
)
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
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.