Skip to main content

HistoryOpener

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

pub fn new() -> HistoryOpener

pub fn set_control(&mut self, control: Option<HistoryControl>)

What the host offered (call from WindowHeader::set_history_control).

pub fn button(&self) -> Option<&Button>

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 button_mut(&mut self) -> Option<&mut Button>

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)

The host rebuilt its tree: replaced buttons may now be dropped.

pub fn control(&self) -> Option<HistoryControl>

The control to show, or None when the row has no History control.

pub fn is_shown(&self) -> bool

Whether the row shows the control.

pub fn activate(&mut self)

Press the control: open History, or close it while it shows.

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

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

Paint the control at rect.

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

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

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

Activate the control from its node; returns whether it did.

Trait Implementations§

§

impl Debug for HistoryOpener

§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
§

impl Default for HistoryOpener

§

fn default() -> HistoryOpener

Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
§

impl<T> Downcast<T> for T

§

fn downcast(&self) -> &T

§

impl<T> Downcast for T
where T: Any,

§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert 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>

Convert 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)

Convert &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)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
§

impl<T> NoneValue for T
where T: Default,

§

type NoneType = T

§

fn null_value() -> T

The none-equivalent value.
§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T, S> SimdFrom<T, S> for T
where S: Simd,

§

fn simd_from(_simd: S, value: T) -> T

§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

§

fn simd_into(self, simd: S) -> T

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<T> Upcast<T> for T

§

fn upcast(&self) -> Option<&T>

§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<T> ErasedDestructor for T
where T: 'static,