pub struct HorizontalLayout { /* private fields */ }
Expand description
Hold buttons and align them horizontally for drawing within a Dialog
§Examples
use oxide::core::{HorizontalAlign, VerticalAlign, ButtonResult, Widget, Button};
use oxide::ui::{Dialog, StdButton, HorizontalLayout};
let mut maindlg = Dialog::new(60, 10);
let b1 = StdButton::new("Quit", 'q', ButtonResult::Ok);
let b2 = StdButton::new("Foo!", 'f', ButtonResult::Custom(1));
let b3 = StdButton::new("Bar!", 'b', ButtonResult::Custom(2));
let buttons = vec![b1, b2, b3].into_iter().map(Box::new);
let buttons = buttons.map(|x| x as Box<Button>).collect();
let mut hlayout = HorizontalLayout::from_vec(buttons, 1);
hlayout.pack(&maindlg, HorizontalAlign::Middle, VerticalAlign::Bottom, (0,1));
maindlg.add_layout(hlayout);
Implementations§
Source§impl HorizontalLayout
impl HorizontalLayout
Sourcepub fn from_vec(
widgets: Vec<Box<dyn Button>>,
inner_margin: usize,
) -> HorizontalLayout
pub fn from_vec( widgets: Vec<Box<dyn Button>>, inner_margin: usize, ) -> HorizontalLayout
Construct a HorizontalLayout
object from a vector of boxed objects that implement
Button. The current API for this function will
change very soon
§Examples
use oxide::core::{ButtonResult, Button};
use oxide::{StdButton, HorizontalLayout};
let b1 = StdButton::new("Quit", 'q', ButtonResult::Ok);
let b2 = StdButton::new("Foo!", 'f', ButtonResult::Custom(1));
let b3 = StdButton::new("Bar!", 'b', ButtonResult::Custom(2));
let v = vec![b1, b2, b3].into_iter().map(Box::new).map(|x| x as Box<Button>).collect();
let mut hlayout = HorizontalLayout::from_vec(v, 1);
Trait Implementations§
Source§impl Layout for HorizontalLayout
impl Layout for HorizontalLayout
fn align_elems(&mut self)
fn forward_keys(&mut self, map: &mut HashMap<char, ButtonResult>)
Source§impl Widget for HorizontalLayout
impl Widget for HorizontalLayout
Source§fn draw(&mut self, parent: &mut dyn CellAccessor)
fn draw(&mut self, parent: &mut dyn CellAccessor)
Draws the widget to the valid
CellAccessor
passedSource§fn pack(
&mut self,
parent: &dyn HasSize,
halign: HorizontalAlign,
valign: VerticalAlign,
margin: (usize, usize),
)
fn pack( &mut self, parent: &dyn HasSize, halign: HorizontalAlign, valign: VerticalAlign, margin: (usize, usize), )
Aligns the widget with the
parent
as referenceAuto Trait Implementations§
impl Freeze for HorizontalLayout
impl !RefUnwindSafe for HorizontalLayout
impl !Send for HorizontalLayout
impl !Sync for HorizontalLayout
impl Unpin for HorizontalLayout
impl !UnwindSafe for HorizontalLayout
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