pub struct View {
pub label: String,
pub widgets: Vec<WidgetType>,
}Fields§
§label: String§widgets: Vec<WidgetType>Implementations§
Source§impl View
impl View
Sourcepub fn new(label: &str) -> Self
pub fn new(label: &str) -> Self
Examples found in repository?
examples/input.rs (line 4)
3fn main() -> std::io::Result<()> {
4 let mut view = View::new("User Information");
5
6 view.add(Input::new("Username", "Enter your name"));
7 view.add(Input::new("Email", "you@example.com"));
8
9 let selected = view.run()?;
10
11 println!("Collected values:");
12 for value in selected {
13 println!("{}", value);
14 }
15
16 Ok(())
17}More examples
examples/basic.rs (line 4)
3fn main() -> std::io::Result<()> {
4 let mut view = View::new("Demo UI");
5
6 view.add(Label::new("Text Label"));
7 view.add(Slider::new("Slider", 0, 100, 50));
8 view.add(Label::new("Checkboxes "));
9 view.add(Checkbox::new("Checkbox 1"));
10 view.add(Checkbox::new("Checkbox 2"));
11 view.add(Checkbox::new("Checkbox 3"));
12 view.add(Button::new("Submit"));
13 view.add(Input::new("Text Input", "Type here..."));
14 view.add(Label::new(
15 "Press TAB to switch, SPACE to toggle, ESC to exit",
16 ));
17
18 run(view)?;
19 Ok(())
20}examples/options.rs (line 4)
3fn main() -> std::io::Result<()> {
4 let mut view = View::new("Ice Cream Selector");
5
6 view.add(Label::new("Choose your ice cream flavours:"));
7 view.add(Checkbox::new("Vanilla"));
8 view.add(Checkbox::new("Chocolate"));
9 view.add(Checkbox::new("Strawberry"));
10 view.add(Checkbox::new("Mint"));
11 view.add(Checkbox::new("Cookie Dough"));
12 view.add(Label::new(
13 "Press TAB to switch, SPACE to toggle, ESC to finish",
14 ));
15
16 let result = run(view)?;
17
18 println!("\nYour ice cream will include:");
19 for ingredient in result {
20 println!("- {}", ingredient);
21 }
22
23 Ok(())
24}examples/views.rs (line 4)
3fn main() -> std::io::Result<()> {
4 let mut main_view = View::new("Level 1");
5 main_view.add(Checkbox::new("Option 1"));
6 main_view.add(Checkbox::new("Action 1"));
7 // Create first view
8 let mut view1 = View::new("Level 2");
9 view1.add(Checkbox::new("Option 2"));
10 view1.add(Checkbox::new("Action 2"));
11 view1.add(Slider::new("Slider", 0, 100, 50));
12 main_view.add(view1);
13
14 // Create second view
15 let mut view2 = View::new("Level 3");
16 view2.add(Label::new("Label"));
17 view2.add(Checkbox::new("Option 3"));
18 view2.add(Slider::new("Slider", 0, 100, 50));
19 view2.add(Checkbox::new("Action 3"));
20 main_view.add(view2);
21
22 run(main_view)?;
23
24 Ok(())
25}Sourcepub fn add(&mut self, widget: impl Into<WidgetType>)
pub fn add(&mut self, widget: impl Into<WidgetType>)
Examples found in repository?
examples/input.rs (line 6)
3fn main() -> std::io::Result<()> {
4 let mut view = View::new("User Information");
5
6 view.add(Input::new("Username", "Enter your name"));
7 view.add(Input::new("Email", "you@example.com"));
8
9 let selected = view.run()?;
10
11 println!("Collected values:");
12 for value in selected {
13 println!("{}", value);
14 }
15
16 Ok(())
17}More examples
examples/basic.rs (line 6)
3fn main() -> std::io::Result<()> {
4 let mut view = View::new("Demo UI");
5
6 view.add(Label::new("Text Label"));
7 view.add(Slider::new("Slider", 0, 100, 50));
8 view.add(Label::new("Checkboxes "));
9 view.add(Checkbox::new("Checkbox 1"));
10 view.add(Checkbox::new("Checkbox 2"));
11 view.add(Checkbox::new("Checkbox 3"));
12 view.add(Button::new("Submit"));
13 view.add(Input::new("Text Input", "Type here..."));
14 view.add(Label::new(
15 "Press TAB to switch, SPACE to toggle, ESC to exit",
16 ));
17
18 run(view)?;
19 Ok(())
20}examples/options.rs (line 6)
3fn main() -> std::io::Result<()> {
4 let mut view = View::new("Ice Cream Selector");
5
6 view.add(Label::new("Choose your ice cream flavours:"));
7 view.add(Checkbox::new("Vanilla"));
8 view.add(Checkbox::new("Chocolate"));
9 view.add(Checkbox::new("Strawberry"));
10 view.add(Checkbox::new("Mint"));
11 view.add(Checkbox::new("Cookie Dough"));
12 view.add(Label::new(
13 "Press TAB to switch, SPACE to toggle, ESC to finish",
14 ));
15
16 let result = run(view)?;
17
18 println!("\nYour ice cream will include:");
19 for ingredient in result {
20 println!("- {}", ingredient);
21 }
22
23 Ok(())
24}examples/views.rs (line 5)
3fn main() -> std::io::Result<()> {
4 let mut main_view = View::new("Level 1");
5 main_view.add(Checkbox::new("Option 1"));
6 main_view.add(Checkbox::new("Action 1"));
7 // Create first view
8 let mut view1 = View::new("Level 2");
9 view1.add(Checkbox::new("Option 2"));
10 view1.add(Checkbox::new("Action 2"));
11 view1.add(Slider::new("Slider", 0, 100, 50));
12 main_view.add(view1);
13
14 // Create second view
15 let mut view2 = View::new("Level 3");
16 view2.add(Label::new("Label"));
17 view2.add(Checkbox::new("Option 3"));
18 view2.add(Slider::new("Slider", 0, 100, 50));
19 view2.add(Checkbox::new("Action 3"));
20 main_view.add(view2);
21
22 run(main_view)?;
23
24 Ok(())
25}pub fn flatten_focusable(&mut self) -> Vec<&mut WidgetType>
pub fn handle_event(&mut self, event: &Event, focus_index: usize)
pub fn render( &self, indent: usize, global_focus_index: usize, focusable_index: &mut usize, current_y: &mut u16, ) -> String
pub fn get_values(&self) -> Vec<(String, WidgetValue)>
Sourcepub fn run(&mut self) -> Result<Vec<String>>
pub fn run(&mut self) -> Result<Vec<String>>
Examples found in repository?
examples/input.rs (line 9)
3fn main() -> std::io::Result<()> {
4 let mut view = View::new("User Information");
5
6 view.add(Input::new("Username", "Enter your name"));
7 view.add(Input::new("Email", "you@example.com"));
8
9 let selected = view.run()?;
10
11 println!("Collected values:");
12 for value in selected {
13 println!("{}", value);
14 }
15
16 Ok(())
17}Trait Implementations§
Auto Trait Implementations§
impl Freeze for View
impl RefUnwindSafe for View
impl Send for View
impl Sync for View
impl Unpin for View
impl UnwindSafe for View
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