pub struct SplitView { /* private fields */ }Expand description
Simple proportional split container.
Implementations§
Source§impl SplitView
impl SplitView
Sourcepub const fn new(axis: SplitAxis, primary_permille: u16, spacing: u32) -> Self
pub const fn new(axis: SplitAxis, primary_permille: u16, spacing: u32) -> Self
Creates a split view.
Examples found in repository?
examples/containers.rs (line 27)
25fn main() {
26 let bounds = Rectangle::new(Point::zero(), Size::new(320, 240));
27 let split = SplitView::new(SplitAxis::Horizontal, 620, 12);
28 let _layout = split.layout(bounds);
29
30 let mut stack = StackView::<Screen, _, 4>::new(Screen::Devices, |screen| match screen {
31 Screen::Devices => Localized::new("screen.devices", "Devices"),
32 Screen::DeviceDetail => Localized::new("screen.detail", "Device"),
33 });
34 let _ = stack.push_view(Screen::DeviceDetail);
35 let _ = stack.motion(bounds);
36 let _ = stack.handle_touch(
37 TouchEvent::new(Point::new(12, 12), TouchPhase::Start, 1),
38 bounds,
39 );
40
41 let tabs = [
42 TabSpec {
43 key: TabId::Home,
44 icon: "H",
45 title: Localized::new("tab.home", "Home"),
46 },
47 TabSpec {
48 key: TabId::Logs,
49 icon: "L",
50 title: Localized::new("tab.logs", "Logs"),
51 },
52 TabSpec {
53 key: TabId::Settings,
54 icon: "S",
55 title: Localized::new("tab.settings", "Settings"),
56 },
57 ];
58 let mut tab_view = TabView::new(tabs, 0);
59 let _ = tab_view.content_frame(bounds, &support::theme());
60 let _ = tab_view.handle_touch(
61 TouchEvent::new(Point::new(200, 220), TouchPhase::End, 2),
62 bounds,
63 &support::theme(),
64 );
65}Sourcepub const fn primary_permille(&self) -> u16
pub const fn primary_permille(&self) -> u16
Returns the primary-pane proportion in permille.
Sourcepub fn set_primary_permille(&mut self, primary_permille: u16)
pub fn set_primary_permille(&mut self, primary_permille: u16)
Updates the primary-pane proportion in permille.
Sourcepub fn set_spacing(&mut self, spacing: u32)
pub fn set_spacing(&mut self, spacing: u32)
Updates spacing between panes.
Sourcepub fn layout(&self, frame: Rectangle) -> SplitLayout
pub fn layout(&self, frame: Rectangle) -> SplitLayout
Computes primary and secondary pane frames.
Examples found in repository?
examples/containers.rs (line 28)
25fn main() {
26 let bounds = Rectangle::new(Point::zero(), Size::new(320, 240));
27 let split = SplitView::new(SplitAxis::Horizontal, 620, 12);
28 let _layout = split.layout(bounds);
29
30 let mut stack = StackView::<Screen, _, 4>::new(Screen::Devices, |screen| match screen {
31 Screen::Devices => Localized::new("screen.devices", "Devices"),
32 Screen::DeviceDetail => Localized::new("screen.detail", "Device"),
33 });
34 let _ = stack.push_view(Screen::DeviceDetail);
35 let _ = stack.motion(bounds);
36 let _ = stack.handle_touch(
37 TouchEvent::new(Point::new(12, 12), TouchPhase::Start, 1),
38 bounds,
39 );
40
41 let tabs = [
42 TabSpec {
43 key: TabId::Home,
44 icon: "H",
45 title: Localized::new("tab.home", "Home"),
46 },
47 TabSpec {
48 key: TabId::Logs,
49 icon: "L",
50 title: Localized::new("tab.logs", "Logs"),
51 },
52 TabSpec {
53 key: TabId::Settings,
54 icon: "S",
55 title: Localized::new("tab.settings", "Settings"),
56 },
57 ];
58 let mut tab_view = TabView::new(tabs, 0);
59 let _ = tab_view.content_frame(bounds, &support::theme());
60 let _ = tab_view.handle_touch(
61 TouchEvent::new(Point::new(200, 220), TouchPhase::End, 2),
62 bounds,
63 &support::theme(),
64 );
65}Trait Implementations§
impl Copy for SplitView
impl Eq for SplitView
impl StructuralPartialEq for SplitView
Auto Trait Implementations§
impl Freeze for SplitView
impl RefUnwindSafe for SplitView
impl Send for SplitView
impl Sync for SplitView
impl Unpin for SplitView
impl UnsafeUnpin for SplitView
impl UnwindSafe for SplitView
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
Mutably borrows from an owned value. Read more
Source§impl<T> CheckedAs for T
impl<T> CheckedAs for T
Source§fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
fn checked_as<Dst>(self) -> Option<Dst>where
T: CheckedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
impl<Src, Dst> CheckedCastFrom<Src> for Dstwhere
Src: CheckedCast<Dst>,
Source§fn checked_cast_from(src: Src) -> Option<Dst>
fn checked_cast_from(src: Src) -> Option<Dst>
Casts the value.
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> OverflowingAs for T
impl<T> OverflowingAs for T
Source§fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
fn overflowing_as<Dst>(self) -> (Dst, bool)where
T: OverflowingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
impl<Src, Dst> OverflowingCastFrom<Src> for Dstwhere
Src: OverflowingCast<Dst>,
Source§fn overflowing_cast_from(src: Src) -> (Dst, bool)
fn overflowing_cast_from(src: Src) -> (Dst, bool)
Casts the value.
Source§impl<T> SaturatingAs for T
impl<T> SaturatingAs for T
Source§fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
fn saturating_as<Dst>(self) -> Dstwhere
T: SaturatingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
impl<Src, Dst> SaturatingCastFrom<Src> for Dstwhere
Src: SaturatingCast<Dst>,
Source§fn saturating_cast_from(src: Src) -> Dst
fn saturating_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> UnwrappedAs for T
impl<T> UnwrappedAs for T
Source§fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
fn unwrapped_as<Dst>(self) -> Dstwhere
T: UnwrappedCast<Dst>,
Casts the value.
Source§impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
impl<Src, Dst> UnwrappedCastFrom<Src> for Dstwhere
Src: UnwrappedCast<Dst>,
Source§fn unwrapped_cast_from(src: Src) -> Dst
fn unwrapped_cast_from(src: Src) -> Dst
Casts the value.
Source§impl<T> WrappingAs for T
impl<T> WrappingAs for T
Source§fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
fn wrapping_as<Dst>(self) -> Dstwhere
T: WrappingCast<Dst>,
Casts the value.
Source§impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
impl<Src, Dst> WrappingCastFrom<Src> for Dstwhere
Src: WrappingCast<Dst>,
Source§fn wrapping_cast_from(src: Src) -> Dst
fn wrapping_cast_from(src: Src) -> Dst
Casts the value.