[−][src]Module newt::grid
Methods for easily arranging component placement.
Grids can be used to automatically arrange widgets in a window without
having to manually specify their positions. The standard Grid
can be used to place components in specific arrangements. There are also
horizontal and vertical flavors to easily build
rows or columns of components. The ButtonBar
will build
a horizontal Grid
full of Button
s when provided with a list of strings to
use as Button
labels.
Simple window management involving grids is also provided.
grid::wrapped_window
and grid::wrapped_window_at
will create a titled window wrapping a Grid
for quick information
display. SimpleWindow
and BasicWindow
include
ButtonBar
s as well for simple user interaction.
Example
extern crate newt; use newt::grid::*; use newt::prelude::*; pub fn main() { newt::init().unwrap(); newt::cls(); let rv; let l1 = Label::new(0, 0, "Hello"); let l2 = Label::new(0, 0, "World"); let mut form = Form::new(None, 0); let stacked = HorizontalGrid::new(&[&l1, &l2]); let button_bar = ButtonBar::new(&["Yes", "No", "Maybe"]); let mut grid = Grid::new(2, 2); grid.set_field(1, 0, &stacked, 1, 1, 1, 1, 0, 0); grid.set_field(0, 1, &button_bar, 1, 1, 1, 1, 0, 0); wrapped_window(&grid, "Grids"); grid.add_to_form(&mut form).unwrap(); rv = form.run().unwrap(); newt::finished(); for (i, button) in button_bar.buttons().iter().enumerate() { if rv == *button { println!("Button {} pressed.", i); } } }
Structs
BasicWindow | Create a simple window using sub-grids. |
ButtonBar | Creates a row of buttons. |
Grid | Arrange |
HorizontalGrid | Arrange components horizontally. |
SimpleWindow | Create a simple window for a single |
VerticalGrid | Arrange components vertically. |
Traits
GridFns | Implements functions shared by |
Functions
wrapped_window | Wrap a |
wrapped_window_at | Wrap a |