rs::layout

Struct Layout

Source
pub struct Layout {
    pub state: LayoutState,
    pub shape: LayoutData,
}
Expand description

Associates the state of a layout with its definition. Contains everything necessary to present this layout to the user and to determine its reactions to inputs.

Fields§

§state: LayoutState§shape: LayoutData

Implementations§

Source§

impl Layout

Source

pub fn new( data: LayoutParseData, kind: ArrangementKind, purpose: ContentPurpose, ) -> Layout

Source

pub fn get_current_view_position(&self) -> &(Point, View)

Source

pub fn get_current_view(&self) -> &View

Source

fn set_view(&mut self, view: String) -> Result<(), NoSuchView>

Source

pub fn get_view_latched(&self) -> &LatchedState

Source

fn find_index_by_position(&self, point: Point) -> Option<(usize, usize)>

Returns index within current view

Source

pub fn foreach_visible_button<F>(&self, f: F)
where F: FnMut(Point, &Button, (usize, usize)),

Returns index within current view too.

Source

fn apply_view_transition(&mut self, action: &Action)

Source

fn unstick_locks(&mut self)

Unlatch all latched keys, so that the new view is the one before first press.

Source

fn process_action_for_view<'a>( action: &'a Action, current_view: &str, latched: &LatchedState, ) -> (ViewTransition<'a>, LatchedState)

Last bool is new latch state. It doesn’t make sense when the result carries UnlatchAll, but let’s not be picky.

Although the state is not defined at the keys (it’s in the relationship between view and action), keys go through the following stages when clicked repeatedly: unlocked+unlatched -> locked+latched -> locked+unlatched -> unlocked+unlatched

Auto Trait Implementations§

§

impl Freeze for Layout

§

impl RefUnwindSafe for Layout

§

impl Send for Layout

§

impl Sync for Layout

§

impl Unpin for Layout

§

impl UnwindSafe for Layout

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