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 { ... }
}

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§

§

impl ActionControls for Banner

The dismiss control is a part of the banner: what the view bound to it is carried out here, where the banner’s controls answer for it.

§

impl ActionControls for Button

§

impl ActionControls for Checkbox

§

impl ActionControls for Column

§

impl ActionControls for Container

§

impl ActionControls for Dropdown

§

impl ActionControls for EmptyState

§

impl ActionControls for NumberInput

§

impl ActionControls for Scrollable

§

impl ActionControls for SearchField

§

impl ActionControls for Slider

§

impl ActionControls for TextInput

§

impl ActionControls for Toggle

§

impl ActionControls for Card

§

impl ActionControls for EditableLabel

§

impl ActionControls for KeyboardMapSelection

§

impl ActionControls for NavList

§

impl ActionControls for NavShell

Controls in a column the shell is not showing (a hidden sidebar, a closed drawer, a pushed-away screen) still belong to the window: custody, invocations and availability reach every part the shell owns.

§

impl ActionControls for DataTableCore

§

impl ActionControls for DisplayArrangement

§

impl ActionControls for Autocomplete

§

impl ActionControls for Board

§

impl ActionControls for Breadcrumb

§

impl ActionControls for Chip

§

impl ActionControls for ColorSwatchPicker

§

impl ActionControls for ContextMenu

§

impl ActionControls for ContextMenuArea

§

impl ActionControls for ControlRow

§

impl ActionControls for DatePicker

§

impl ActionControls for DropZone

§

impl ActionControls for ListRow

§

impl ActionControls for MediaCard

§

impl ActionControls for MenuButton

§

impl ActionControls for PictureChoice

§

impl ActionControls for PropertyList

§

impl ActionControls for QuickTile

§

impl ActionControls for ReactionStripWidget

§

impl ActionControls for RowMenu

§

impl ActionControls for ShortcutRecorder

§

impl ActionControls for StatTile

§

impl ActionControls for Stepper

§

impl ActionControls for TileHost

§

impl ActionControls for TimePicker

§

impl ActionControls for ToggleGroup

§

impl ActionControls for Toolbar

§

impl ActionControls for WindowGroup

§

impl<C> ActionControls for ModalDialog<C>
where C: Widget + 'static,

§

impl<C> ActionControls for Popover<C>
where C: Widget + 'static,

§

impl<K> ActionControls for ModelView<K>
where K: PartialEq + 'static,

§

impl<M> ActionControls for VirtualList<M>
where M: ListModel + 'static,