Skip to main content

Act

Struct Act 

Source
pub struct Act<'a> {
    pub label: &'a str,
    pub key: Option<&'a str>,
    pub tone: Tone,
    pub state: Option<State>,
    pub hint: Option<&'a str>,
}

Fields§

§label: &'a str

What the control says.

§key: Option<&'a str>

The key that reaches it where a host has keys.

The one member written for a terminal before there was one. A webview hangs it off accesskey or ignores it; a terminal has nothing else to offer, so this is the whole of how a control is reached there.

§tone: Tone

What pressing it means. Tone::Danger is the destructive one.

§state: Option<State>

Disabled, or nothing said.

State::Disabled is what changes what a renderer may do: see State::suppresses_interaction, which is what says a disabled control is drawn and not reachable. A control’s focus is not sayable here at all: see the crate header, “Reach, focus and the focus ring”.

§hint: Option<&'a str>

A sentence that is always true of this control, shown rather than hunted for.

Standing help, not a message and not a tooltip. Half the hosts that read this have no pointer: a hover is one spelling of it, and the shipped apps reached for that spelling only because egui and a browser both had one. What is being said is that the sentence is true, never that it is hidden until a pointer arrives.

§Why it is here rather than a layer up

A hint left to quasi_router::Act alone means each renderer draws it for itself: makeover_tui had no hint to read, so quasi-tui built the muted line, and quasi-immediate called on_hover_text outside crate::Act rather than inside it. Field::hint was here the whole time, so the same idea sat at two layers depending on which thing carried it, and a host that was not quasi could say it of a field and not of a control.

What kept it out was price rather than doubt: this crate declares links, so a member here moves 25 manifests across 12 repos. That is a release’s forward-fix pass, which is a cost and was being read as a barrier.

§What a renderer owes it

Somewhere to put it, or nothing. Dropping it is legitimate; drawing it instead of the label is not, and neither is drawing it in a way that takes it out of the accessible tree, which is the failure title alone has on a browser. Nothing may live only in a hint.

None is a control whose label is the whole of it, which is nearly all of them.

Implementations§

Source§

impl<'a> Act<'a>

Source

pub const fn new(label: &'a str) -> Self

An ordinary control, reachable, with no key.

Source

pub const fn hinted(self, hint: &'a str) -> Self

The sentence that is always true of it; see hint.

A renderer with nowhere to put it drops it, so this must never be the only place a fact appears.

Source

pub const fn key(self, key: &'a str) -> Self

The key that reaches it.

Source

pub const fn tone(self, tone: Tone) -> Self

What pressing it means.

Source

pub const fn state(self, state: State) -> Self

Focus, or disabled.

Source

pub fn disabled(&self) -> bool

Whether the control is drawn and does not answer.

Trait Implementations§

Source§

impl<'a> Clone for Act<'a>

Source§

fn clone(&self) -> Act<'a>

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl<'a> Copy for Act<'a>

Source§

impl<'a> Debug for Act<'a>

Source§

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

Formats the value using the given formatter. Read more
Source§

impl<'a> Eq for Act<'a>

Source§

impl<'a> Hash for Act<'a>

Source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · Source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
Source§

impl<'a> PartialEq for Act<'a>

Source§

fn eq(&self, other: &Act<'a>) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl<'a> StructuralPartialEq for Act<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for Act<'a>

§

impl<'a> RefUnwindSafe for Act<'a>

§

impl<'a> Send for Act<'a>

§

impl<'a> Sync for Act<'a>

§

impl<'a> Unpin for Act<'a>

§

impl<'a> UnsafeUnpin for Act<'a>

§

impl<'a> UnwindSafe for Act<'a>

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

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

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

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.