pub struct SplitHandle { /* private fields */ }Expand description
A bar to drag that changes a size, for a pane an app lays out itself, such as a strip
along the bottom of a window. Arrow keys move it too, Shift goes further, and Home and
End go to the limits. SplitPanes is built on it.
use ravenrs_layout::Axis;
use ravenrs_reactive::State;
use ravenrs_widgets::{SplitHandle, Ui};
let height = State::new(120.0_f32);
// The strip is below the bar, so it grows as the bar goes up.
let bar = SplitHandle::new(Axis::Vertical, height.binding()).range(80.0, 300.0).inverted();
let mut ui = Ui::new(bar, ravenrs_style::Theme::raven_dark());
ui.update();Implementations§
Source§impl SplitHandle
impl SplitHandle
Sourcepub fn new(axis: Axis, value: Binding<f32>) -> SplitHandle
pub fn new(axis: Axis, value: Binding<f32>) -> SplitHandle
A bar between things laid out along axis, which writes the size it controls to
value. It lies across that axis: along Axis::Horizontal, it stands upright.
Sourcepub fn range(self, min: f32, max: f32) -> SplitHandle
pub fn range(self, min: f32, max: f32) -> SplitHandle
The smallest and the largest the size can get.
Sourcepub fn inverted(self) -> SplitHandle
pub fn inverted(self) -> SplitHandle
The size grows as the bar moves left or up, for a pane after the bar.
Sourcepub fn label(self, label: impl Into<String>) -> SplitHandle
pub fn label(self, label: impl Into<String>) -> SplitHandle
Its name for screen readers (from Labels by default).
Sourcepub fn on_end(self, handler: impl Fn() + 'static) -> SplitHandle
pub fn on_end(self, handler: impl Fn() + 'static) -> SplitHandle
Runs when a drag ends or a key moved it, the moment to save the size.
Trait Implementations§
Source§impl Debug for SplitHandle
impl Debug for SplitHandle
Auto Trait Implementations§
impl !RefUnwindSafe for SplitHandle
impl !Send for SplitHandle
impl !Sync for SplitHandle
impl !UnwindSafe for SplitHandle
impl Freeze for SplitHandle
impl Unpin for SplitHandle
impl UnsafeUnpin for SplitHandle
Blanket Implementations§
impl<T> AutoreleaseSafe for Twhere
T: ?Sized,
impl<T> AutoreleaseSafe for Twhere
T: ?Sized,
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
impl<T> ErasedDestructor for Twhere
T: 'static,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> 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> ⓘ
impl<T> Read<Exclusive, BecauseExclusive> for Twhere
T: ?Sized,
§impl<T, U> ToSample<U> for Twhere
U: FromSample<T>,
impl<T, U> ToSample<U> for Twhere
U: FromSample<T>,
fn to_sample_(self) -> U
Source§impl<V> ViewExt for Vwhere
V: View,
impl<V> ViewExt for Vwhere
V: View,
Source§fn padding(self, padding: impl Into<Insets>) -> Styled<Self>
fn padding(self, padding: impl Into<Insets>) -> Styled<Self>
Adds padding inside the box, in logical pixels.
Source§fn background(self, fill: impl Into<Fill>) -> Styled<Self>
fn background(self, fill: impl Into<Fill>) -> Styled<Self>
Paints a background behind the content.
Source§fn frame(self, width: Option<f32>, height: Option<f32>) -> Styled<Self>
fn frame(self, width: Option<f32>, height: Option<f32>) -> Styled<Self>
Fixes the width and/or height in logical pixels;
None keeps the content size.