Struct cursive::views::ScrollView
source · [−]pub struct ScrollView<V> { /* private fields */ }
Expand description
Wraps a view in a scrollable area.
Implementations
sourceimpl<V> ScrollView<V>
impl<V> ScrollView<V>
sourcepub fn new(inner: V) -> ScrollView<V>
pub fn new(inner: V) -> ScrollView<V>
Creates a new ScrollView around view
.
sourcepub fn content_viewport(&self) -> Rect
pub fn content_viewport(&self) -> Rect
Returns the viewport in the inner content.
sourcepub fn inner_size(&self) -> XY<usize>
pub fn inner_size(&self) -> XY<usize>
Returns the size of the content view, as it was on the last layout phase.
This is only the size the content thinks it has, and may be larger
than the actual size used by this ScrollView
.
sourcepub fn is_at_bottom(&self) -> bool
pub fn is_at_bottom(&self) -> bool
Returns true
if the bottom row of the content is in view.
sourcepub fn is_at_left_edge(&self) -> bool
pub fn is_at_left_edge(&self) -> bool
Return true
if the left-most column of the content is in view.
sourcepub fn is_at_right_edge(&self) -> bool
pub fn is_at_right_edge(&self) -> bool
Return true
if the right-most column of the content is in view.
sourcepub fn set_scroll_strategy(&mut self, strategy: ScrollStrategy) -> EventResult
pub fn set_scroll_strategy(&mut self, strategy: ScrollStrategy) -> EventResult
Defines the way scrolling is adjusted on content or size change.
The scroll strategy defines how the scrolling position is adjusted when the size of the view or the content change.
It is reset to ScrollStrategy::KeepRow
whenever the user scrolls
manually.
sourcepub fn scroll_strategy(self, strategy: ScrollStrategy) -> ScrollView<V>
pub fn scroll_strategy(self, strategy: ScrollStrategy) -> ScrollView<V>
Defines the way scrolling is adjusted on content or size change.
Chainable variant.
sourcepub fn set_show_scrollbars(&mut self, show_scrollbars: bool)
pub fn set_show_scrollbars(&mut self, show_scrollbars: bool)
Control whether scroll bars are visibile.
Defaults to true
.
sourcepub fn show_scrollbars(self, show_scrollbars: bool) -> ScrollView<V>
pub fn show_scrollbars(self, show_scrollbars: bool) -> ScrollView<V>
Control whether scroll bars are visibile.
Chainable variant
sourcepub fn set_offset<S>(&mut self, offset: S) -> EventResultwhere
S: Into<XY<usize>>,
pub fn set_offset<S>(&mut self, offset: S) -> EventResultwhere
S: Into<XY<usize>>,
Sets the scroll offset to the given value
sourcepub fn set_scroll_y(&mut self, enabled: bool) -> EventResult
pub fn set_scroll_y(&mut self, enabled: bool) -> EventResult
Controls whether this view can scroll vertically.
Defaults to true
.
sourcepub fn set_scroll_x(&mut self, enabled: bool) -> EventResult
pub fn set_scroll_x(&mut self, enabled: bool) -> EventResult
Controls whether this view can scroll horizontally.
Defaults to false
.
sourcepub fn scroll_y(self, enabled: bool) -> ScrollView<V>
pub fn scroll_y(self, enabled: bool) -> ScrollView<V>
Controls whether this view can scroll vertically.
Defaults to true
.
Chainable variant.
sourcepub fn scroll_x(self, enabled: bool) -> ScrollView<V>
pub fn scroll_x(self, enabled: bool) -> ScrollView<V>
Controls whether this view can scroll horizontally.
Defaults to false
.
Chainable variant.
sourcepub fn scroll_to_top(&mut self) -> EventResult
pub fn scroll_to_top(&mut self) -> EventResult
Programmatically scroll to the top of the view.
sourcepub fn scroll_to_bottom(&mut self) -> EventResult
pub fn scroll_to_bottom(&mut self) -> EventResult
Programmatically scroll to the bottom of the view.
sourcepub fn scroll_to_left(&mut self) -> EventResult
pub fn scroll_to_left(&mut self) -> EventResult
Programmatically scroll to the leftmost side of the view.
sourcepub fn scroll_to_right(&mut self) -> EventResult
pub fn scroll_to_right(&mut self) -> EventResult
Programmatically scroll to the rightmost side of the view.
sourcepub fn scroll_to_important_area(&mut self) -> EventResultwhere
V: View,
pub fn scroll_to_important_area(&mut self) -> EventResultwhere
V: View,
Programmatically scroll until the child’s important area is in view.
sourcepub fn into_inner(self) -> V
pub fn into_inner(self) -> V
Returns the wrapped view.
sourcepub fn set_on_scroll_inner<F>(&mut self, on_scroll: F)where
F: 'static + FnMut(&mut ScrollView<V>, Rect) -> EventResult,
pub fn set_on_scroll_inner<F>(&mut self, on_scroll: F)where
F: 'static + FnMut(&mut ScrollView<V>, Rect) -> EventResult,
Sets a callback to be run whenever scrolling happens.
This lets the callback access the ScrollView
itself (and its child)
if necessary.
If you just need to run a callback on &mut Cursive
, consider
set_on_scroll
.
sourcepub fn set_on_scroll<F>(&mut self, on_scroll: F)where
F: 'static + FnMut(&mut Cursive, Rect),
pub fn set_on_scroll<F>(&mut self, on_scroll: F)where
F: 'static + FnMut(&mut Cursive, Rect),
Sets a callback to be run whenever scrolling happens.
sourcepub fn set_on_scroll_change_inner<F>(&mut self, on_scroll: F)where
F: 'static + FnMut(&mut ScrollView<V>, Rect) -> EventResult,
V: 'static,
pub fn set_on_scroll_change_inner<F>(&mut self, on_scroll: F)where
F: 'static + FnMut(&mut ScrollView<V>, Rect) -> EventResult,
V: 'static,
Sets a callback to be run whenever the scroll offset changes.
sourcepub fn set_on_scroll_change<F>(&mut self, on_scroll: F)where
F: 'static + FnMut(&mut Cursive, Rect),
V: 'static,
pub fn set_on_scroll_change<F>(&mut self, on_scroll: F)where
F: 'static + FnMut(&mut Cursive, Rect),
V: 'static,
Sets a callback to be run whenever the scroll offset changes.
sourcepub fn on_scroll_inner<F>(self, on_scroll: F) -> ScrollView<V>where
F: 'static + Fn(&mut ScrollView<V>, Rect) -> EventResult,
pub fn on_scroll_inner<F>(self, on_scroll: F) -> ScrollView<V>where
F: 'static + Fn(&mut ScrollView<V>, Rect) -> EventResult,
Sets a callback to be run whenever scrolling happens.
This lets the callback access the ScrollView
itself (and its child)
if necessary.
If you just need to run a callback on &mut Cursive
, consider
set_on_scroll
.
Chainable variant.
sourcepub fn on_scroll<F>(self, on_scroll: F) -> ScrollView<V>where
F: 'static + FnMut(&mut Cursive, Rect),
pub fn on_scroll<F>(self, on_scroll: F) -> ScrollView<V>where
F: 'static + FnMut(&mut Cursive, Rect),
Sets a callback to be run whenever scrolling happens.
Chainable variant.
sourcepub fn get_inner_mut(&mut self) -> &mut V
pub fn get_inner_mut(&mut self) -> &mut V
Gets mutable access to the inner view.
Trait Implementations
sourceimpl<V> Default for ScrollView<V>where
V: Default,
impl<V> Default for ScrollView<V>where
V: Default,
sourcefn default() -> ScrollView<V>
fn default() -> ScrollView<V>
Returns the “default value” for a type. Read more
sourceimpl<V> Scroller for ScrollView<V>
impl<V> Scroller for ScrollView<V>
sourcefn get_scroller_mut(&mut self) -> &mut Core
fn get_scroller_mut(&mut self) -> &mut Core
Returns a mutable access to the scroll core.
sourcefn get_scroller(&self) -> &Core
fn get_scroller(&self) -> &Core
Returns an immutable access to the scroll core.
sourceimpl<V> View for ScrollView<V>where
V: View,
impl<V> View for ScrollView<V>where
V: View,
sourcefn draw(&self, printer: &Printer<'_, '_>)
fn draw(&self, printer: &Printer<'_, '_>)
Draws the view with the given printer (includes bounds) and focus. Read more
sourcefn on_event(&mut self, event: Event) -> EventResult
fn on_event(&mut self, event: Event) -> EventResult
Called when an event is received (key press, mouse event, …). Read more
sourcefn layout(&mut self, size: XY<usize>)
fn layout(&mut self, size: XY<usize>)
Called once the size for this view has been decided. Read more
sourcefn needs_relayout(&self) -> bool
fn needs_relayout(&self) -> bool
Should return true
if the view content changed since the last call
to layout()
. Read more
sourcefn required_size(&mut self, constraint: XY<usize>) -> XY<usize>
fn required_size(&mut self, constraint: XY<usize>) -> XY<usize>
Returns the minimum size the view requires with the given restrictions. Read more
sourcefn call_on_any(
&mut self,
selector: &Selector<'_>,
cb: &'a mut (dyn FnMut(&mut (dyn View + 'static)) + 'a)
)
fn call_on_any(
&mut self,
selector: &Selector<'_>,
cb: &'a mut (dyn FnMut(&mut (dyn View + 'static)) + 'a)
)
Runs a closure on the view identified by the given selector. Read more
sourcefn focus_view(
&mut self,
selector: &Selector<'_>
) -> Result<EventResult, ViewNotFound>
fn focus_view(
&mut self,
selector: &Selector<'_>
) -> Result<EventResult, ViewNotFound>
Moves the focus to the view identified by the given selector. Read more
sourcefn take_focus(&mut self, source: Direction) -> Result<EventResult, CannotFocus>
fn take_focus(&mut self, source: Direction) -> Result<EventResult, CannotFocus>
Attempt to give this view the focus. Read more
Auto Trait Implementations
impl<V> !RefUnwindSafe for ScrollView<V>
impl<V> !Send for ScrollView<V>
impl<V> !Sync for ScrollView<V>
impl<V> Unpin for ScrollView<V>where
V: Unpin,
impl<V> !UnwindSafe for ScrollView<V>
Blanket Implementations
sourceimpl<T> AnyView for Twhere
T: View,
impl<T> AnyView for Twhere
T: View,
sourcefn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
Downcast self to a mutable Any
.
sourcefn as_boxed_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<F, A>impl<F, A> Future for Box<F, A>where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A>where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
fn as_boxed_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>ⓘNotable traits for Box<F, A>impl<F, A> Future for Box<F, A>where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A>where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A>where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
Returns a boxed any from a boxed self. Read more
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Finder for Twhere
T: View,
impl<T> Finder for Twhere
T: View,
sourcefn call_on_all<V, F>(&mut self, sel: &Selector<'_>, callback: F)where
V: View,
F: FnMut(&mut V),
fn call_on_all<V, F>(&mut self, sel: &Selector<'_>, callback: F)where
V: View,
F: FnMut(&mut V),
Runs a callback on all views identified by sel
. Read more
sourcefn call_on<V, F, R>(&mut self, sel: &Selector<'_>, callback: F) -> Option<R>where
V: View,
F: FnOnce(&mut V) -> R,
fn call_on<V, F, R>(&mut self, sel: &Selector<'_>, callback: F) -> Option<R>where
V: View,
F: FnOnce(&mut V) -> R,
Runs a callback on the view identified by sel
. Read more
sourceimpl<T> IntoBoxedView for Twhere
T: View,
impl<T> IntoBoxedView for Twhere
T: View,
sourcefn into_boxed_view(self) -> Box<dyn View + 'static, Global>ⓘNotable traits for Box<F, A>impl<F, A> Future for Box<F, A>where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A>where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
fn into_boxed_view(self) -> Box<dyn View + 'static, Global>ⓘNotable traits for Box<F, A>impl<F, A> Future for Box<F, A>where
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A>where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
F: Future + Unpin + ?Sized,
A: Allocator + 'static, type Output = <F as Future>::Output;impl<I, A> Iterator for Box<I, A>where
I: Iterator + ?Sized,
A: Allocator, type Item = <I as Iterator>::Item;
Returns a Box<View>
.
sourceimpl<T> Resizable for Twhere
T: View,
impl<T> Resizable for Twhere
T: View,
sourcefn resized(
self,
width: SizeConstraint,
height: SizeConstraint
) -> ResizedView<Self>
fn resized(
self,
width: SizeConstraint,
height: SizeConstraint
) -> ResizedView<Self>
Wraps self
in a ResizedView
with the given size constraints.
sourcefn fixed_size<S>(self, size: S) -> ResizedView<Self>where
S: Into<XY<usize>>,
fn fixed_size<S>(self, size: S) -> ResizedView<Self>where
S: Into<XY<usize>>,
Wraps self
into a fixed-size ResizedView
.
sourcefn fixed_width(self, width: usize) -> ResizedView<Self>
fn fixed_width(self, width: usize) -> ResizedView<Self>
Wraps self
into a fixed-width ResizedView
.
sourcefn fixed_height(self, height: usize) -> ResizedView<Self>
fn fixed_height(self, height: usize) -> ResizedView<Self>
Wraps self
into a fixed-width ResizedView
.
sourcefn full_screen(self) -> ResizedView<Self>
fn full_screen(self) -> ResizedView<Self>
Wraps self
into a full-screen ResizedView
.
sourcefn full_width(self) -> ResizedView<Self>
fn full_width(self) -> ResizedView<Self>
Wraps self
into a full-width ResizedView
.
sourcefn full_height(self) -> ResizedView<Self>
fn full_height(self) -> ResizedView<Self>
Wraps self
into a full-height ResizedView
.
sourcefn max_size<S>(self, size: S) -> ResizedView<Self>where
S: Into<XY<usize>>,
fn max_size<S>(self, size: S) -> ResizedView<Self>where
S: Into<XY<usize>>,
Wraps self
into a limited-size ResizedView
.
sourcefn max_width(self, max_width: usize) -> ResizedView<Self>
fn max_width(self, max_width: usize) -> ResizedView<Self>
Wraps self
into a limited-width ResizedView
.
sourcefn max_height(self, max_height: usize) -> ResizedView<Self>
fn max_height(self, max_height: usize) -> ResizedView<Self>
Wraps self
into a limited-height ResizedView
.
sourcefn min_size<S>(self, size: S) -> ResizedView<Self>where
S: Into<XY<usize>>,
fn min_size<S>(self, size: S) -> ResizedView<Self>where
S: Into<XY<usize>>,
Wraps self
into a ResizedView
at least sized size
.
sourcefn min_width(self, min_width: usize) -> ResizedView<Self>
fn min_width(self, min_width: usize) -> ResizedView<Self>
Wraps self
in a ResizedView
at least min_width
wide.
sourcefn min_height(self, min_height: usize) -> ResizedView<Self>
fn min_height(self, min_height: usize) -> ResizedView<Self>
Wraps self
in a ResizedView
at least min_height
tall.
sourceimpl<T> Scrollable for Twhere
T: View,
impl<T> Scrollable for Twhere
T: View,
sourcefn scrollable(self) -> ScrollView<Self>
fn scrollable(self) -> ScrollView<Self>
Wraps self
in a ScrollView
.