Expand description
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 Buttons 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 ButtonBars as well for simple user interaction.
§Example
extern crate newt;
use newt::grid::*;
use newt::prelude::*;
// use the `Parent` trait, allowing access to all of a `Grid`'s children.
use crate::newt::grid::Parent;
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 stacked = HorizontalGrid::new(&[&l1, &l2]);
    let button_bar = ButtonBar::new(&["Yes", "No", "Maybe"]);
    let mut grid = Grid::new(1, 2);
    grid.set_field(0, 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");
    let mut form = Form::new(None, 0);
    grid.add_to_form(&mut form).unwrap();
    rv = form.run().unwrap();
    newt::finished();
    // Find the component which was activated to close the `Form`.
    for (i, co) in grid.children().iter().enumerate() {
        if rv == *co {
            println!("Component {} activated.", i);
        }
    }
    // Find the button which was activated to close the `Form`.
    for (i, co) in button_bar.buttons().iter().enumerate() {
        if rv == *co {
            println!("Button {} pressed.", i);
        }
    }
}Modules§
Structs§
- Basic
Window  - Create a simple window using sub-grids.
 - Button
Bar  - Creates a row of buttons.
 - Grid
 - Arrange 
Components and sub-grids within a two-dimensional grid. - Horizontal
Grid  - Arrange components horizontally.
 - Simple
Window  - Create a simple window for a single 
Component. - Vertical
Grid  - Arrange components vertically.
 
Traits§
- GridFns
 - Implements functions shared by 
Grids. - Parent
 - Trait implemented by 
Grids that returns all child components from themselves and sub-Grids. 
Functions§
- wrapped_
window  - Wrap a 
Gridin a centered window. - wrapped_
window_ at  - Wrap a 
Gridin a window at a specified location.