pub struct FocusManager<O = (), M = ()> { /* private fields */ }Implementations§
Source§impl<O, M> FocusManager<O, M>
impl<O, M> FocusManager<O, M>
pub fn new() -> Self
Sourcepub fn focus_wrap(&self) -> FocusWrap
pub fn focus_wrap(&self) -> FocusWrap
The current end-of-list navigation policy.
Sourcepub fn set_focus_wrap(&mut self, wrap: FocusWrap)
pub fn set_focus_wrap(&mut self, wrap: FocusWrap)
Set the end-of-list navigation policy (clamp vs. wrap-around).
pub fn targets(&self) -> &[FocusTarget<O>]
pub fn overlay(&self) -> Option<&OverlayFocus<O, M>>
pub fn overlay_mut(&mut self) -> Option<&mut OverlayFocus<O, M>>
pub fn register_page(&mut self, targets: Vec<FocusTarget<O>>)
Sourcepub fn set_section_items(&mut self, section_items: Vec<(usize, usize)>)
pub fn set_section_items(&mut self, section_items: Vec<(usize, usize)>)
Record the (section_id, item_count) pairs for the current page so the
runtime can enter a section on its own (see activate).
The runtime calls this from refresh_page; applications rarely need to.
pub fn has_overlay(&self) -> bool
pub fn next(&mut self)
pub fn prev(&mut self)
Sourcepub fn show_modal(&mut self, data: M, count: usize)
pub fn show_modal(&mut self, data: M, count: usize)
Open a generic modal overlay carrying data with count selectable
items. Pass count == 0 for a non-interactive modal (e.g. a loading
dialog). Higher-level conventions (dialogs, pickers) build on this.
pub fn clear_overlay(&mut self)
pub fn exit_canvas_forward(&mut self)
pub fn exit_canvas_backward(&mut self)
pub fn enter_section(&mut self, item_count: usize)
Sourcepub fn activate(&mut self)
pub fn activate(&mut self)
Act on the currently focused target without the application inspecting
focus: if it is a Section registered with an
item count (see
section_with_items),
enter it. Anything else — a button, an already-entered section, an open
overlay — is left untouched, so the application’s own activation logic
(navigation, selection) stays its own concern.
pub fn enter_section_at( &mut self, section_id: usize, item_count: usize, item_index: usize, )
pub fn leave_section(&mut self)
Source§impl<O: Clone, M> FocusManager<O, M>
impl<O: Clone, M> FocusManager<O, M>
pub fn current(&self) -> Option<FocusTarget<O>>
pub fn query(&self) -> FocusQuery<O>
Source§impl<O: Clone + PartialEq, M> FocusManager<O, M>
impl<O: Clone + PartialEq, M> FocusManager<O, M>
pub fn is_focused(&self, target: &FocusTarget<O>) -> bool
pub fn add_target(&mut self, target: FocusTarget<O>)
pub fn remove_target(&mut self, target: &FocusTarget<O>)
pub fn set_focus(&mut self, target: FocusTarget<O>)
pub fn open_overlay(&mut self, target: FocusTarget<O>)
pub fn close_overlay(&mut self, target: FocusTarget<O>)
pub fn toggle_overlay(&mut self, target: FocusTarget<O>)
pub fn is_overlay_open(&self, target: &FocusTarget<O>) -> bool
Trait Implementations§
Source§impl<O: Clone, M: Clone> Clone for FocusManager<O, M>
impl<O: Clone, M: Clone> Clone for FocusManager<O, M>
Source§fn clone(&self) -> FocusManager<O, M>
fn clone(&self) -> FocusManager<O, M>
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<O, M> Default for FocusManager<O, M>
impl<O, M> Default for FocusManager<O, M>
Source§impl<O: Clone + PartialEq, M> FocusController<O, M> for FocusManager<O, M>
impl<O: Clone + PartialEq, M> FocusController<O, M> for FocusManager<O, M>
fn apply_focus_intent(&mut self, intent: FocusIntent<O, M>)
Source§impl<O: PartialEq, M: PartialEq> PartialEq for FocusManager<O, M>
impl<O: PartialEq, M: PartialEq> PartialEq for FocusManager<O, M>
Source§fn eq(&self, other: &FocusManager<O, M>) -> bool
fn eq(&self, other: &FocusManager<O, M>) -> bool
self and other values to be equal, and is used by ==.impl<O: Eq, M: Eq> Eq for FocusManager<O, M>
impl<O, M> StructuralPartialEq for FocusManager<O, M>
Auto Trait Implementations§
impl<O, M> Freeze for FocusManager<O, M>
impl<O, M> RefUnwindSafe for FocusManager<O, M>where
O: RefUnwindSafe,
M: RefUnwindSafe,
impl<O, M> Send for FocusManager<O, M>
impl<O, M> Sync for FocusManager<O, M>
impl<O, M> Unpin for FocusManager<O, M>
impl<O, M> UnsafeUnpin for FocusManager<O, M>where
O: UnsafeUnpin,
M: UnsafeUnpin,
impl<O, M> UnwindSafe for FocusManager<O, M>where
O: UnwindSafe,
M: UnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more