Struct freya::prelude::VirtualScrollViewProps
source · pub struct VirtualScrollViewProps<Builder, BuilderArgs = ()>where
Builder: 'static + Clone + Fn(usize, &Option<BuilderArgs>) -> Option<VNode>,
BuilderArgs: Clone + 'static + PartialEq,{
pub theme: Option<ScrollViewThemeWith>,
pub scrollbar_theme: Option<ScrollBarThemeWith>,
pub length: usize,
pub item_size: f32,
pub builder: Builder,
pub builder_args: Option<BuilderArgs>,
pub direction: String,
pub show_scrollbar: bool,
pub scroll_with_arrows: bool,
pub cache_elements: bool,
pub scroll_controller: Option<ScrollController>,
}
Expand description
Properties for the VirtualScrollView
component.
Fields§
§theme: Option<ScrollViewThemeWith>
Theme override.
scrollbar_theme: Option<ScrollBarThemeWith>
Theme override for the scrollbars.
length: usize
Quantity of items in the VirtualScrollView.
item_size: f32
Size of the items, height for vertical direction and width for horizontal.
builder: Builder
The item builder function.
builder_args: Option<BuilderArgs>
The values for the item builder function.
direction: String
Direction of the VirtualScrollView, vertical
or horizontal
.
show_scrollbar: bool
Show the scrollbar, visible by default.
scroll_with_arrows: bool
Enable scrolling with arrow keys.
cache_elements: bool
Cache elements or not, changing builder_args
will invalidate the cache if enabled.
Default is true
.
scroll_controller: Option<ScrollController>
Implementations§
source§impl<Builder, BuilderArgs> VirtualScrollViewProps<Builder, BuilderArgs>
impl<Builder, BuilderArgs> VirtualScrollViewProps<Builder, BuilderArgs>
sourcepub fn builder() -> VirtualScrollViewPropsBuilder<((), (), (), (), (), (), (), (), (), (), ()), Builder, BuilderArgs>
pub fn builder() -> VirtualScrollViewPropsBuilder<((), (), (), (), (), (), (), (), (), (), ()), Builder, BuilderArgs>
Create a builder for building VirtualScrollViewProps
.
On the builder, call .theme(...)
(optional), .scrollbar_theme(...)
(optional), .length(...)
, .item_size(...)
, .builder(...)
, .builder_args(...)
(optional), .direction(...)
(optional), .show_scrollbar(...)
(optional), .scroll_with_arrows(...)
(optional), .cache_elements(...)
(optional), .scroll_controller(...)
(optional) to set the values of the fields.
Finally, call .build()
to create the instance of VirtualScrollViewProps
.
Trait Implementations§
source§impl<Builder, BuilderArgs> Clone for VirtualScrollViewProps<Builder, BuilderArgs>
impl<Builder, BuilderArgs> Clone for VirtualScrollViewProps<Builder, BuilderArgs>
source§fn clone(&self) -> VirtualScrollViewProps<Builder, BuilderArgs>
fn clone(&self) -> VirtualScrollViewProps<Builder, BuilderArgs>
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl<BuilderArgs, Builder> PartialEq for VirtualScrollViewProps<Builder, BuilderArgs>
impl<BuilderArgs, Builder> PartialEq for VirtualScrollViewProps<Builder, BuilderArgs>
source§fn eq(&self, other: &VirtualScrollViewProps<Builder, BuilderArgs>) -> bool
fn eq(&self, other: &VirtualScrollViewProps<Builder, BuilderArgs>) -> bool
self
and other
values to be equal, and is used
by ==
.source§impl<Builder, BuilderArgs> Properties for VirtualScrollViewProps<Builder, BuilderArgs>
impl<Builder, BuilderArgs> Properties for VirtualScrollViewProps<Builder, BuilderArgs>
§type Builder = VirtualScrollViewPropsBuilder<((), (), (), (), (), (), (), (), (), (), ()), Builder, BuilderArgs>
type Builder = VirtualScrollViewPropsBuilder<((), (), (), (), (), (), (), (), (), (), ()), Builder, BuilderArgs>
source§fn builder() -> <VirtualScrollViewProps<Builder, BuilderArgs> as Properties>::Builder
fn builder() -> <VirtualScrollViewProps<Builder, BuilderArgs> as Properties>::Builder
source§fn memoize(
&mut self,
new: &VirtualScrollViewProps<Builder, BuilderArgs>,
) -> bool
fn memoize( &mut self, new: &VirtualScrollViewProps<Builder, BuilderArgs>, ) -> bool
§fn into_vcomponent<M>(
self,
render_fn: impl ComponentFunction<Self, M>,
component_name: &'static str,
) -> VComponentwhere
M: 'static,
fn into_vcomponent<M>(
self,
render_fn: impl ComponentFunction<Self, M>,
component_name: &'static str,
) -> VComponentwhere
M: 'static,
Auto Trait Implementations§
impl<Builder, BuilderArgs> Freeze for VirtualScrollViewProps<Builder, BuilderArgs>
impl<Builder, BuilderArgs = ()> !RefUnwindSafe for VirtualScrollViewProps<Builder, BuilderArgs>
impl<Builder, BuilderArgs = ()> !Send for VirtualScrollViewProps<Builder, BuilderArgs>
impl<Builder, BuilderArgs = ()> !Sync for VirtualScrollViewProps<Builder, BuilderArgs>
impl<Builder, BuilderArgs> Unpin for VirtualScrollViewProps<Builder, BuilderArgs>
impl<Builder, BuilderArgs = ()> !UnwindSafe for VirtualScrollViewProps<Builder, BuilderArgs>
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