Struct HistoryOpener
pub struct HistoryOpener { /* private fields */ }Expand description
The window’s History control in a painted header row: what the host
offered, the pointer’s hover over it, and a press waiting to go through
the History door. Modelled on crate::search::SearchOpener: return
Self::take from ActionControls::take_control_invocation.
A painted header row paints the control (Self::paint) and routes its
pointer and its semantic node through the opener. A header row that
hosts retained controls (a bar of library buttons) hosts
Self::button_mut instead: the same History button NavShell shows,
bound to the History door, at HISTORY_CONTROL_ID.
Implementations§
§impl HistoryOpener
impl HistoryOpener
pub fn new() -> HistoryOpener
pub fn set_control(&mut self, control: Option<HistoryControl>)
pub fn set_control(&mut self, control: Option<HistoryControl>)
What the host offered (call from WindowHeader::set_history_control).
The retained History button for a header row that hosts library controls: lay it out at the row’s History rect, keep it among the host’s children, draw it and route its events like the others. Its press goes through the History door by itself.
pub fn take_rebuilt(&mut self) -> bool
pub fn take_rebuilt(&mut self) -> bool
Whether the button was replaced since the last call: the host
rebuilds its tree. Call Self::tree_rebuilt once it has.
pub fn tree_rebuilt(&mut self)
pub fn tree_rebuilt(&mut self)
The host rebuilt its tree: replaced buttons may now be dropped.
pub fn control(&self) -> Option<HistoryControl>
pub fn control(&self) -> Option<HistoryControl>
The control to show, or None when the row has no History control.
pub fn activate(&mut self)
pub fn activate(&mut self)
Press the control: open History, or close it while it shows.
pub fn take(&mut self) -> Option<ControlInvocation>
pub fn take(&mut self) -> Option<ControlInvocation>
The press as an invocation of the History door, once.
pub fn is_pending(&self) -> bool
pub fn is_hovered(&self) -> bool
pub fn handle_event(
&mut self,
event: &WindowEvent,
rect: Rect,
scale_factor: f64,
) -> bool
pub fn handle_event( &mut self, event: &WindowEvent, rect: Rect, scale_factor: f64, ) -> bool
Route event to the control at rect (its
HeaderRowFace::history_rect).
Returns whether the control took it (a press on it, and the release
that follows; pointer motion only updates the hover); a release over
the control after a press on it queues the press.
pub fn paint(
&self,
scene: &mut Scene,
transform: Affine,
text: &mut TextRenderer,
theme: &Theme,
rect: Rect,
)
pub fn paint( &self, scene: &mut Scene, transform: Affine, text: &mut TextRenderer, theme: &Theme, rect: Rect, )
Paint the control at rect.
pub fn accessibility(&self, rect: Rect) -> Option<AccessNode>
pub fn accessibility(&self, rect: Rect) -> Option<AccessNode>
The control’s node for the window’s semantic tree: a toggle button
named “History”, pressed while History shows. Route an Activate on
it back with Self::perform_action.
pub fn is_target(key_path: &[u64]) -> bool
pub fn is_target(key_path: &[u64]) -> bool
Whether key_path (from Widget::perform_action) addresses the
node Self::accessibility published.
pub fn perform_semantic_action(&mut self, target: &str, action: &Action) -> bool
pub fn perform_semantic_action(&mut self, target: &str, action: &Action) -> bool
Activate the control from its node addressed by its action target
(Widget::perform_semantic_action); returns whether it did.
pub fn perform_action(&mut self, action: &Action, key_path: &[u64]) -> bool
pub fn perform_action(&mut self, action: &Action, key_path: &[u64]) -> bool
Activate the control from its node; returns whether it did.
Trait Implementations§
§impl Debug for HistoryOpener
impl Debug for HistoryOpener
§impl Default for HistoryOpener
impl Default for HistoryOpener
§fn default() -> HistoryOpener
fn default() -> HistoryOpener
Auto Trait Implementations§
impl Freeze for HistoryOpener
impl !RefUnwindSafe for HistoryOpener
impl !Send for HistoryOpener
impl !Sync for HistoryOpener
impl Unpin for HistoryOpener
impl UnsafeUnpin for HistoryOpener
impl !UnwindSafe for HistoryOpener
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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