pub struct ScrollBars<W>where
W: Scrollable + Widget,{ /* private fields */ }
Expand description
Scroll bar controls
This is a wrapper adding scroll bar controls around a child. Note that this
widget does not enable scrolling; see ScrollBarRegion
for that.
Scroll bar positioning does not respect the inner widget’s margins, since
the result looks poor when content is scrolled. Instead the content should
force internal margins by wrapping contents with a (zero-sized) frame.
ScrollRegion
already does this.
Implementations§
Source§impl<W> ScrollBars<W>where
W: Scrollable + Widget,
impl<W> ScrollBars<W>where
W: Scrollable + Widget,
Sourcepub fn new(inner: W) -> ScrollBars<W>
pub fn new(inner: W) -> ScrollBars<W>
Construct
By default scroll bars are automatically enabled based on requirements.
Use the HasScrollBars
trait to adjust this behaviour.
Trait Implementations§
Source§impl<W> Clone for ScrollBars<W>
impl<W> Clone for ScrollBars<W>
Source§fn clone(&self) -> ScrollBars<W>
fn clone(&self) -> ScrollBars<W>
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl<W> Debug for ScrollBars<W>
impl<W> Debug for ScrollBars<W>
Source§impl<W> Default for ScrollBars<W>
impl<W> Default for ScrollBars<W>
Source§fn default() -> ScrollBars<W>
fn default() -> ScrollBars<W>
Returns the “default value” for a type. Read more
Source§impl<W> Deref for ScrollBars<W>where
W: Scrollable + Widget,
impl<W> Deref for ScrollBars<W>where
W: Scrollable + Widget,
Source§impl<W> DerefMut for ScrollBars<W>where
W: Scrollable + Widget,
impl<W> DerefMut for ScrollBars<W>where
W: Scrollable + Widget,
Source§impl<W> Events for ScrollBars<W>where
W: Scrollable + Widget,
impl<W> Events for ScrollBars<W>where
W: Scrollable + Widget,
Source§fn handle_messages(
&mut self,
cx: &mut EventCx<'_>,
_: &<ScrollBars<W> as Widget>::Data,
)
fn handle_messages( &mut self, cx: &mut EventCx<'_>, _: &<ScrollBars<W> as Widget>::Data, )
Handler for messages from children/descendants Read more
Source§fn handle_scroll(
&mut self,
cx: &mut EventCx<'_>,
_: &<ScrollBars<W> as Widget>::Data,
_: Scroll,
)
fn handle_scroll( &mut self, cx: &mut EventCx<'_>, _: &<ScrollBars<W> as Widget>::Data, _: Scroll, )
Handler for scrolling Read more
Source§fn handle_event(
&mut self,
_: &mut EventCx<'_>,
_: &<ScrollBars<W> as Widget>::Data,
_: Event,
) -> IsUsed
fn handle_event( &mut self, _: &mut EventCx<'_>, _: &<ScrollBars<W> as Widget>::Data, _: Event, ) -> IsUsed
Source§fn configure_recurse(&mut self, cx: &mut ConfigCx<'_>, data: &Self::Data)
fn configure_recurse(&mut self, cx: &mut ConfigCx<'_>, data: &Self::Data)
Configure children Read more
Source§fn update(&mut self, cx: &mut ConfigCx<'_>, data: &Self::Data)
fn update(&mut self, cx: &mut ConfigCx<'_>, data: &Self::Data)
Update self using input data Read more
Source§fn update_recurse(&mut self, cx: &mut ConfigCx<'_>, data: &Self::Data)
fn update_recurse(&mut self, cx: &mut ConfigCx<'_>, data: &Self::Data)
Update children Read more
Is this widget navigable via Tab key? Read more
Source§impl<W> HasBool for ScrollBars<W>
impl<W> HasBool for ScrollBars<W>
Source§impl<W> HasScrollBars for ScrollBars<W>where
W: Scrollable + Widget,
impl<W> HasScrollBars for ScrollBars<W>where
W: Scrollable + Widget,
Source§fn get_mode(&self) -> ScrollBarMode
fn get_mode(&self) -> ScrollBarMode
Get mode
Source§fn set_mode(&mut self, mode: ScrollBarMode) -> Action
fn set_mode(&mut self, mode: ScrollBarMode) -> Action
Set mode
Source§fn set_visible_bars(&mut self, bars: (bool, bool)) -> Action
fn set_visible_bars(&mut self, bars: (bool, bool)) -> Action
Set enabled bars without adjusting mode Read more
Source§fn with_auto_bars(self) -> Selfwhere
Self: Sized,
fn with_auto_bars(self) -> Selfwhere
Self: Sized,
Set auto mode (inline)
Source§impl<W> HasStr for ScrollBars<W>
impl<W> HasStr for ScrollBars<W>
Source§impl<W> HasString for ScrollBars<W>
impl<W> HasString for ScrollBars<W>
Source§impl<W> Layout for ScrollBars<W>where
W: Scrollable + Widget,
impl<W> Layout for ScrollBars<W>where
W: Scrollable + Widget,
Source§fn size_rules(&mut self, sizer: SizeCx<'_>, axis: AxisInfo) -> SizeRules
fn size_rules(&mut self, sizer: SizeCx<'_>, axis: AxisInfo) -> SizeRules
Get size rules for the given axis Read more
Source§fn set_rect(&mut self, cx: &mut ConfigCx<'_>, rect: Rect, hints: AlignHints)
fn set_rect(&mut self, cx: &mut ConfigCx<'_>, rect: Rect, hints: AlignHints)
Set size and position Read more
Source§fn widget_name(&self) -> &'static str
fn widget_name(&self) -> &'static str
Get the name of the widget struct Read more
Source§fn num_children(&self) -> usize
fn num_children(&self) -> usize
Get the number of child widgets Read more
Source§fn get_child(&self, index: usize) -> Option<&dyn Layout>
fn get_child(&self, index: usize) -> Option<&dyn Layout>
Access a child as a
dyn Layout
Read moreNavigation in spatial order Read more
Source§fn find_child_index(&self, id: &Id) -> Option<usize>
fn find_child_index(&self, id: &Id) -> Option<usize>
Find the child which is an ancestor of this
id
, if any Read moreSource§fn translation(&self) -> Offset
fn translation(&self) -> Offset
Get translation of children relative to this widget Read more
Source§impl<W> Scrollable for ScrollBars<W>where
W: Scrollable + Widget,
impl<W> Scrollable for ScrollBars<W>where
W: Scrollable + Widget,
Source§impl<W> Widget for ScrollBars<W>where
W: Scrollable + Widget,
impl<W> Widget for ScrollBars<W>where
W: Scrollable + Widget,
Auto Trait Implementations§
impl<W> Freeze for ScrollBars<W>where
W: Freeze,
impl<W> RefUnwindSafe for ScrollBars<W>where
W: RefUnwindSafe,
impl<W> !Send for ScrollBars<W>
impl<W> !Sync for ScrollBars<W>
impl<W> Unpin for ScrollBars<W>where
W: Unpin,
impl<W> UnwindSafe for ScrollBars<W>where
W: UnwindSafe,
Blanket Implementations§
Source§impl<W> AdaptWidget for Wwhere
W: Widget,
impl<W> AdaptWidget for Wwhere
W: Widget,
Source§fn pack(self, hints: AlignHints) -> Pack<Self>
fn pack(self, hints: AlignHints) -> Pack<Self>
Apply an alignment hint, squash and align the result Read more
Source§fn margins(self, dirs: Directions, style: MarginStyle) -> Margins<Self>
fn margins(self, dirs: Directions, style: MarginStyle) -> Margins<Self>
Specify margins Read more
Source§fn on_configure<F>(self, f: F) -> AdaptEvents<Self>where
F: Fn(&mut AdaptConfigCx<'_, '_>, &mut Self) + 'static,
fn on_configure<F>(self, f: F) -> AdaptEvents<Self>where
F: Fn(&mut AdaptConfigCx<'_, '_>, &mut Self) + 'static,
Call the given closure on
Events::configure
Read moreSource§fn on_update<F>(self, f: F) -> AdaptEvents<Self>
fn on_update<F>(self, f: F) -> AdaptEvents<Self>
Call the given closure on
Events::update
Read moreSource§fn on_message<M, H>(self, handler: H) -> AdaptEvents<Self>
fn on_message<M, H>(self, handler: H) -> AdaptEvents<Self>
Add a handler on message of type
M
Read moreSource§fn map_message<M, N, H>(self, handler: H) -> AdaptEvents<Self>
fn map_message<M, N, H>(self, handler: H) -> AdaptEvents<Self>
Source§fn on_messages<H>(self, handler: H) -> AdaptEvents<Self>
fn on_messages<H>(self, handler: H) -> AdaptEvents<Self>
Add a generic message handler Read more
Source§fn with_min_size_px(self, w: i32, h: i32) -> Reserve<Self>
fn with_min_size_px(self, w: i32, h: i32) -> Reserve<Self>
Construct a wrapper, setting minimum size in pixels Read more
Source§fn with_min_size_em(self, w: f32, h: f32) -> Reserve<Self>
fn with_min_size_em(self, w: f32, h: f32) -> Reserve<Self>
Construct a wrapper, setting minimum size in Em Read more
Source§fn with_label<D, T>(self, direction: D, label: T) -> WithLabel<Self, D>
fn with_label<D, T>(self, direction: D, label: T) -> WithLabel<Self, D>
Construct a wrapper widget adding a label Read more
Source§impl<W> AdaptWidgetAny for W
impl<W> AdaptWidgetAny for W
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
Mutably borrows from an owned value. Read more
Source§impl<S, T> CastApprox<T> for Swhere
T: ConvApprox<S>,
impl<S, T> CastApprox<T> for Swhere
T: ConvApprox<S>,
Source§fn try_cast_approx(self) -> Result<T, Error>
fn try_cast_approx(self) -> Result<T, Error>
Source§fn cast_approx(self) -> T
fn cast_approx(self) -> T
Source§impl<S, T> CastFloat<T> for Swhere
T: ConvFloat<S>,
impl<S, T> CastFloat<T> for Swhere
T: ConvFloat<S>,
Source§fn cast_trunc(self) -> T
fn cast_trunc(self) -> T
Cast to integer, truncating Read more
Source§fn cast_nearest(self) -> T
fn cast_nearest(self) -> T
Cast to the nearest integer Read more
Source§fn cast_floor(self) -> T
fn cast_floor(self) -> T
Cast the floor to an integer Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§fn into_any(self: Box<T>) -> Box<dyn 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
.Source§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
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
.Source§fn as_any(&self) -> &(dyn Any + 'static)
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.Source§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§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>
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 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>
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 moreSource§impl<W> LayoutExt for W
impl<W> LayoutExt for W
Source§fn identify(&self) -> IdentifyWidget<'_>
fn identify(&self) -> IdentifyWidget<'_>
Display as “StructName#Id”
Source§fn is_strict_ancestor_of(&self, id: &Id) -> bool
fn is_strict_ancestor_of(&self, id: &Id) -> bool
Check whether
id
is not self and is a descendant Read moreSource§fn for_children(&self, f: impl FnMut(&dyn Layout))
fn for_children(&self, f: impl FnMut(&dyn Layout))
Run a closure on all children
Source§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
Read this value from the supplied reader. Same as
ReadEndian::read_from_little_endian()
.Source§impl<S, R> ThemeSize for R
impl<S, R> ThemeSize for R
Source§fn scale_factor(&self) -> f32
fn scale_factor(&self) -> f32
Get the scale factor
Source§fn min_scroll_size(&self, axis_is_vertical: bool) -> i32
fn min_scroll_size(&self, axis_is_vertical: bool) -> i32
The minimum size of a scrollable area
Source§fn scroll_bar_width(&self) -> i32
fn scroll_bar_width(&self) -> i32
The width of a vertical scroll bar
Source§fn margins(&self, style: MarginStyle) -> Margins
fn margins(&self, style: MarginStyle) -> Margins
Get margin size
Source§fn feature(&self, feature: Feature, axis_is_vertical: bool) -> SizeRules
fn feature(&self, feature: Feature, axis_is_vertical: bool) -> SizeRules
Size rules for a feature
Source§fn align_feature(&self, feature: Feature, rect: Rect, align: AlignPair) -> Rect
fn align_feature(&self, feature: Feature, rect: Rect, align: AlignPair) -> Rect
Align a feature’s rect Read more
Source§fn frame(&self, style: FrameStyle, axis_is_vertical: bool) -> FrameRules
fn frame(&self, style: FrameStyle, axis_is_vertical: bool) -> FrameRules
Size of a frame around another element
Source§fn line_height(&self, class: TextClass) -> i32
fn line_height(&self, class: TextClass) -> i32
The height of a line of text by class Read more
Source§fn text_configure(&self, text: &mut dyn SizableText, class: TextClass)
fn text_configure(&self, text: &mut dyn SizableText, class: TextClass)
Configure a text object, setting font properties
Source§fn text_rules(
&self,
text: &mut dyn SizableText,
class: TextClass,
axis: AxisInfo,
) -> SizeRules
fn text_rules( &self, text: &mut dyn SizableText, class: TextClass, axis: AxisInfo, ) -> SizeRules
Get
SizeRules
for a text element