Struct cursive_core::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 content_viewport(&self) -> Rect
pub fn content_viewport(&self) -> Rect
Returns the viewport in the inner content.
sourcepub fn inner_size(&self) -> Vec2
pub fn inner_size(&self) -> Vec2
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) -> Self
pub fn scroll_strategy(self, strategy: ScrollStrategy) -> Self
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) -> Self
pub fn show_scrollbars(self, show_scrollbars: bool) -> Self
Control whether scroll bars are visibile.
Chainable variant
sourcepub fn set_offset<S>(&mut self, offset: S) -> EventResult where
S: Into<Vec2>,
pub fn set_offset<S>(&mut self, offset: S) -> EventResult where
S: Into<Vec2>,
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) -> Self
pub fn scroll_y(self, enabled: bool) -> Self
Controls whether this view can scroll vertically.
Defaults to true.
Chainable variant.
sourcepub fn scroll_x(self, enabled: bool) -> Self
pub fn scroll_x(self, enabled: bool) -> Self
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) -> EventResult where
V: View,
pub fn scroll_to_important_area(&mut self) -> EventResult where
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: FnMut(&mut Self, Rect) -> EventResult + 'static,
pub fn set_on_scroll_inner<F>(&mut self, on_scroll: F) where
F: FnMut(&mut Self, Rect) -> EventResult + 'static,
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: FnMut(&mut Cursive, Rect) + 'static,
pub fn set_on_scroll<F>(&mut self, on_scroll: F) where
F: FnMut(&mut Cursive, Rect) + 'static,
Sets a callback to be run whenever scrolling happens.
sourcepub fn set_on_scroll_change_inner<F>(&mut self, on_scroll: F) where
F: FnMut(&mut Self, Rect) -> EventResult + 'static,
V: 'static,
pub fn set_on_scroll_change_inner<F>(&mut self, on_scroll: F) where
F: FnMut(&mut Self, Rect) -> EventResult + 'static,
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: FnMut(&mut Cursive, Rect) + 'static,
V: 'static,
pub fn set_on_scroll_change<F>(&mut self, on_scroll: F) where
F: FnMut(&mut Cursive, Rect) + 'static,
V: 'static,
Sets a callback to be run whenever the scroll offset changes.
sourcepub fn on_scroll_inner<F>(self, on_scroll: F) -> Self where
F: Fn(&mut Self, Rect) -> EventResult + 'static,
pub fn on_scroll_inner<F>(self, on_scroll: F) -> Self where
F: Fn(&mut Self, Rect) -> EventResult + 'static,
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) -> Self where
F: FnMut(&mut Cursive, Rect) + 'static,
pub fn on_scroll<F>(self, on_scroll: F) -> Self where
F: FnMut(&mut Cursive, Rect) + 'static,
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,
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: Vec2)
fn layout(&mut self, size: Vec2)
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: Vec2) -> Vec2
fn required_size(&mut self, constraint: Vec2) -> Vec2
Returns the minimum size the view requires with the given restrictions. Read more
sourcefn call_on_any<'a>(&mut self, selector: &Selector<'_>, cb: AnyCb<'a>)
fn call_on_any<'a>(&mut self, selector: &Selector<'_>, cb: AnyCb<'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
sourcefn important_area(&self, size: Vec2) -> Rect
fn important_area(&self, size: Vec2) -> Rect
What part of the view is important and should be visible? 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> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
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