pub struct StyleBuilder { /* private fields */ }Implementations§
Source§impl StyleBuilder
impl StyleBuilder
Sourcepub fn new() -> StyleBuilder
pub fn new() -> StyleBuilder
Examples found in repository?
examples/main.rs (line 33)
9fn main() {
10 // --------------------------------------------- //
11 // ---------- Example: Progress Bar ------------ //
12 // --------------------------------------------- //
13
14 let progress_value = Arc::new(Mutex::new(0));
15
16 // Create a clone of the progress_value for the other thread.
17 let thread_progress_value = progress_value.clone();
18
19 // Some work done in another thread.
20 let do_some_work = thread::spawn(move || {
21 let mut num = 0;
22 while num <= 100 {
23 thread::sleep(time::Duration::from_millis(20));
24
25 let mut val = thread_progress_value.lock().unwrap();
26 *val = num;
27
28 num += 1;
29 }
30 });
31
32 // Initialize a progress bar.
33 let style = ProgressBarStyleBuilder::new() // `Style` provides builder pattern.
34 .color(Color::Green)
35 .bar_length(60)
36 .build();
37 let progress_bar = ProgressBar::new(0, 100, move || *progress_value.lock().unwrap(), style);
38
39 let mut writer = std::io::stdout();
40
41 // Start the progress bar.
42 progress_bar.start(&mut writer);
43
44 // Wait for the worker thread to finish.
45 do_some_work.join().unwrap();
46
47 // ------------------------------------------------- //
48 // ---------- Example: Interactive Menu ------------ //
49 // ------------------------------------------------- //
50
51 let options = vec![
52 "Tokyo".to_string(),
53 "Saitama".to_string(),
54 "Kanagawa".to_string(),
55 ];
56
57 // Initialize an interactive menu.
58 let mut menu = InteractiveMenu::new(
59 options.clone(),
60 InteractiveMenuStyleBuilder::new() // `Style` provides builder pattern.
61 .color(Color::Blue)
62 .selected_prefix('*')
63 .build(),
64 );
65
66 // Run the interactive menu.
67 let selected_index = menu.run().unwrap();
68
69 println!("You selected: {}", options[selected_index]);
70
71 // ------------------------------------------------- //
72 // ---------- Example: Loading Indicator ----------- //
73 // ------------------------------------------------- //
74
75 let loading_indicator = LoadingIndicator::new(Color::Red);
76 loading_indicator.start();
77
78 // Do some work while the loading indicator is running.
79 let mut num = 0;
80 while num <= 100 {
81 thread::sleep(time::Duration::from_millis(20));
82 num += 1;
83 }
84
85 // Stop the loading indicator.
86 loading_indicator.stop();
87}pub fn bar_character(self, character: char) -> StyleBuilder
Sourcepub fn bar_length(self, length: u64) -> StyleBuilder
pub fn bar_length(self, length: u64) -> StyleBuilder
Examples found in repository?
examples/main.rs (line 35)
9fn main() {
10 // --------------------------------------------- //
11 // ---------- Example: Progress Bar ------------ //
12 // --------------------------------------------- //
13
14 let progress_value = Arc::new(Mutex::new(0));
15
16 // Create a clone of the progress_value for the other thread.
17 let thread_progress_value = progress_value.clone();
18
19 // Some work done in another thread.
20 let do_some_work = thread::spawn(move || {
21 let mut num = 0;
22 while num <= 100 {
23 thread::sleep(time::Duration::from_millis(20));
24
25 let mut val = thread_progress_value.lock().unwrap();
26 *val = num;
27
28 num += 1;
29 }
30 });
31
32 // Initialize a progress bar.
33 let style = ProgressBarStyleBuilder::new() // `Style` provides builder pattern.
34 .color(Color::Green)
35 .bar_length(60)
36 .build();
37 let progress_bar = ProgressBar::new(0, 100, move || *progress_value.lock().unwrap(), style);
38
39 let mut writer = std::io::stdout();
40
41 // Start the progress bar.
42 progress_bar.start(&mut writer);
43
44 // Wait for the worker thread to finish.
45 do_some_work.join().unwrap();
46
47 // ------------------------------------------------- //
48 // ---------- Example: Interactive Menu ------------ //
49 // ------------------------------------------------- //
50
51 let options = vec![
52 "Tokyo".to_string(),
53 "Saitama".to_string(),
54 "Kanagawa".to_string(),
55 ];
56
57 // Initialize an interactive menu.
58 let mut menu = InteractiveMenu::new(
59 options.clone(),
60 InteractiveMenuStyleBuilder::new() // `Style` provides builder pattern.
61 .color(Color::Blue)
62 .selected_prefix('*')
63 .build(),
64 );
65
66 // Run the interactive menu.
67 let selected_index = menu.run().unwrap();
68
69 println!("You selected: {}", options[selected_index]);
70
71 // ------------------------------------------------- //
72 // ---------- Example: Loading Indicator ----------- //
73 // ------------------------------------------------- //
74
75 let loading_indicator = LoadingIndicator::new(Color::Red);
76 loading_indicator.start();
77
78 // Do some work while the loading indicator is running.
79 let mut num = 0;
80 while num <= 100 {
81 thread::sleep(time::Duration::from_millis(20));
82 num += 1;
83 }
84
85 // Stop the loading indicator.
86 loading_indicator.stop();
87}Sourcepub fn color(self, color: Color) -> StyleBuilder
pub fn color(self, color: Color) -> StyleBuilder
Examples found in repository?
examples/main.rs (line 34)
9fn main() {
10 // --------------------------------------------- //
11 // ---------- Example: Progress Bar ------------ //
12 // --------------------------------------------- //
13
14 let progress_value = Arc::new(Mutex::new(0));
15
16 // Create a clone of the progress_value for the other thread.
17 let thread_progress_value = progress_value.clone();
18
19 // Some work done in another thread.
20 let do_some_work = thread::spawn(move || {
21 let mut num = 0;
22 while num <= 100 {
23 thread::sleep(time::Duration::from_millis(20));
24
25 let mut val = thread_progress_value.lock().unwrap();
26 *val = num;
27
28 num += 1;
29 }
30 });
31
32 // Initialize a progress bar.
33 let style = ProgressBarStyleBuilder::new() // `Style` provides builder pattern.
34 .color(Color::Green)
35 .bar_length(60)
36 .build();
37 let progress_bar = ProgressBar::new(0, 100, move || *progress_value.lock().unwrap(), style);
38
39 let mut writer = std::io::stdout();
40
41 // Start the progress bar.
42 progress_bar.start(&mut writer);
43
44 // Wait for the worker thread to finish.
45 do_some_work.join().unwrap();
46
47 // ------------------------------------------------- //
48 // ---------- Example: Interactive Menu ------------ //
49 // ------------------------------------------------- //
50
51 let options = vec![
52 "Tokyo".to_string(),
53 "Saitama".to_string(),
54 "Kanagawa".to_string(),
55 ];
56
57 // Initialize an interactive menu.
58 let mut menu = InteractiveMenu::new(
59 options.clone(),
60 InteractiveMenuStyleBuilder::new() // `Style` provides builder pattern.
61 .color(Color::Blue)
62 .selected_prefix('*')
63 .build(),
64 );
65
66 // Run the interactive menu.
67 let selected_index = menu.run().unwrap();
68
69 println!("You selected: {}", options[selected_index]);
70
71 // ------------------------------------------------- //
72 // ---------- Example: Loading Indicator ----------- //
73 // ------------------------------------------------- //
74
75 let loading_indicator = LoadingIndicator::new(Color::Red);
76 loading_indicator.start();
77
78 // Do some work while the loading indicator is running.
79 let mut num = 0;
80 while num <= 100 {
81 thread::sleep(time::Duration::from_millis(20));
82 num += 1;
83 }
84
85 // Stop the loading indicator.
86 loading_indicator.stop();
87}Sourcepub fn build(self) -> Style
pub fn build(self) -> Style
Examples found in repository?
examples/main.rs (line 36)
9fn main() {
10 // --------------------------------------------- //
11 // ---------- Example: Progress Bar ------------ //
12 // --------------------------------------------- //
13
14 let progress_value = Arc::new(Mutex::new(0));
15
16 // Create a clone of the progress_value for the other thread.
17 let thread_progress_value = progress_value.clone();
18
19 // Some work done in another thread.
20 let do_some_work = thread::spawn(move || {
21 let mut num = 0;
22 while num <= 100 {
23 thread::sleep(time::Duration::from_millis(20));
24
25 let mut val = thread_progress_value.lock().unwrap();
26 *val = num;
27
28 num += 1;
29 }
30 });
31
32 // Initialize a progress bar.
33 let style = ProgressBarStyleBuilder::new() // `Style` provides builder pattern.
34 .color(Color::Green)
35 .bar_length(60)
36 .build();
37 let progress_bar = ProgressBar::new(0, 100, move || *progress_value.lock().unwrap(), style);
38
39 let mut writer = std::io::stdout();
40
41 // Start the progress bar.
42 progress_bar.start(&mut writer);
43
44 // Wait for the worker thread to finish.
45 do_some_work.join().unwrap();
46
47 // ------------------------------------------------- //
48 // ---------- Example: Interactive Menu ------------ //
49 // ------------------------------------------------- //
50
51 let options = vec![
52 "Tokyo".to_string(),
53 "Saitama".to_string(),
54 "Kanagawa".to_string(),
55 ];
56
57 // Initialize an interactive menu.
58 let mut menu = InteractiveMenu::new(
59 options.clone(),
60 InteractiveMenuStyleBuilder::new() // `Style` provides builder pattern.
61 .color(Color::Blue)
62 .selected_prefix('*')
63 .build(),
64 );
65
66 // Run the interactive menu.
67 let selected_index = menu.run().unwrap();
68
69 println!("You selected: {}", options[selected_index]);
70
71 // ------------------------------------------------- //
72 // ---------- Example: Loading Indicator ----------- //
73 // ------------------------------------------------- //
74
75 let loading_indicator = LoadingIndicator::new(Color::Red);
76 loading_indicator.start();
77
78 // Do some work while the loading indicator is running.
79 let mut num = 0;
80 while num <= 100 {
81 thread::sleep(time::Duration::from_millis(20));
82 num += 1;
83 }
84
85 // Stop the loading indicator.
86 loading_indicator.stop();
87}Auto Trait Implementations§
impl Freeze for StyleBuilder
impl RefUnwindSafe for StyleBuilder
impl Send for StyleBuilder
impl Sync for StyleBuilder
impl Unpin for StyleBuilder
impl UnwindSafe for StyleBuilder
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