2015-06-08 19:23:36 +00:00
extern crate cursive ;
use cursive ::Cursive ;
use cursive ::view ::{ Dialog , TextView , LinearLayout , BoxView } ;
use cursive ::align ::HAlign ;
fn main ( ) {
let mut siv = Cursive ::new ( ) ;
2015-06-08 22:38:10 +00:00
// Some description text
2015-06-08 19:23:36 +00:00
let text = " This is a very simple example of linear layout. Two views are present, a short title above, and this text. The text has a fixed width, and the title is centered horizontally. " ;
2015-06-08 22:38:10 +00:00
// We'll create a dialog with a TextView serving as a title
2015-06-08 19:23:36 +00:00
siv . add_layer (
Dialog ::new (
2015-06-08 22:38:10 +00:00
LinearLayout ::vertical ( )
2015-06-08 19:23:36 +00:00
. child ( TextView ::new ( " Title " ) . h_align ( HAlign ::Center ) )
2015-06-08 22:38:10 +00:00
// Box the textview, so it doesn't get too wide.
// A 0 height value means it will be unconstrained.
2015-06-08 19:23:36 +00:00
. child ( BoxView ::new ( ( 30 , 0 ) , TextView ::new ( text ) ) ) )
. button ( " Quit " , | s | s . quit ( ) )
. h_align ( HAlign ::Center ) ) ;
siv . run ( ) ;
}