pub struct Model<I: Item> {
pub title: String,
pub filter_input: Model,
pub paginator: Model,
pub spinner: Model,
pub help: Model,
pub keymap: ListKeyMap,
pub styles: ListStyles,
/* private fields */
}Expand description
List model containing items, filtering, pagination, and styling.
Fields§
§title: StringTitle rendered in the list header when not filtering.
filter_input: ModelText input used for entering the filter term.
paginator: ModelPaginator controlling visible item slice.
spinner: ModelSpinner used during expensive operations (optional usage).
help: ModelHelp model for displaying key bindings.
keymap: ListKeyMapKey bindings for list navigation and filtering.
styles: ListStylesVisual styles for list elements and states.
Implementations§
Source§impl<I: Item + Send + Sync + 'static> Model<I>
impl<I: Item + Send + Sync + 'static> Model<I>
Sourcepub fn new(
items: Vec<I>,
delegate: impl ItemDelegate<I> + Send + Sync + 'static,
width: usize,
height: usize,
) -> Self
pub fn new( items: Vec<I>, delegate: impl ItemDelegate<I> + Send + Sync + 'static, width: usize, height: usize, ) -> Self
Creates a new list with items, delegate, and initial dimensions.
Sourcepub fn set_items(&mut self, items: Vec<I>)
pub fn set_items(&mut self, items: Vec<I>)
Replace all items in the list and reset pagination if needed.
Sourcepub fn visible_items(&self) -> Vec<I>
pub fn visible_items(&self) -> Vec<I>
Returns a copy of the items currently visible (filtered if applicable).
Sourcepub fn set_filter_text(&mut self, s: &str)
pub fn set_filter_text(&mut self, s: &str)
Sets the filter input text.
Sourcepub fn set_filter_state(&mut self, st: FilterState)
pub fn set_filter_state(&mut self, st: FilterState)
Sets the current filtering state.
Sourcepub fn set_status_bar_item_name(&mut self, singular: &str, plural: &str)
pub fn set_status_bar_item_name(&mut self, singular: &str, plural: &str)
Sets the singular/plural nouns used in the status bar.
Sourcepub fn status_view(&self) -> String
pub fn status_view(&self) -> String
Renders the status bar string, including position and help.
Sourcepub fn with_title(self, title: &str) -> Self
pub fn with_title(self, title: &str) -> Self
Sets the list title and returns self for chaining.
Sourcepub fn selected_item(&self) -> Option<&I>
pub fn selected_item(&self) -> Option<&I>
Returns a reference to the currently selected item, if any.
Trait Implementations§
Auto Trait Implementations§
impl<I> Freeze for Model<I>
impl<I> !RefUnwindSafe for Model<I>
impl<I> Send for Model<I>where
I: Send,
impl<I> !Sync for Model<I>
impl<I> Unpin for Model<I>where
I: Unpin,
impl<I> !UnwindSafe for Model<I>
Blanket Implementations§
Source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
Source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
Source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
Source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
Source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
Source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
Source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
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<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
impl<WpParam, T, U> Cam16IntoUnclamped<WpParam, T> for Uwhere
T: FromCam16Unclamped<WpParam, U>,
Source§type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
type Scalar = <T as FromCam16Unclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn cam16_into_unclamped(
self,
parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>,
) -> T
fn cam16_into_unclamped( self, parameters: BakedParameters<WpParam, <U as Cam16IntoUnclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
Source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
Source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
Source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle.Source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
Source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other into Self, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
Source§fn into_angle(self) -> U
fn into_angle(self) -> U
T.Source§impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
impl<WpParam, T, U> IntoCam16Unclamped<WpParam, T> for Uwhere
T: Cam16FromUnclamped<WpParam, U>,
Source§type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
type Scalar = <T as Cam16FromUnclamped<WpParam, U>>::Scalar
parameters when converting.Source§fn into_cam16_unclamped(
self,
parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>,
) -> T
fn into_cam16_unclamped( self, parameters: BakedParameters<WpParam, <U as IntoCam16Unclamped<WpParam, T>>::Scalar>, ) -> T
self into C, using the provided parameters.Source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
Source§fn into_color(self) -> U
fn into_color(self) -> U
Source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
Source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
Source§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
Source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self into T, while performing the appropriate scaling,
rounding and clamping.Source§impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
Source§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors fails to cast.Source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
Source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
Source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds error is returned which contains
the unclamped color. Read more