scroll_area

Function scroll_area 

Source
pub fn scroll_area<F: FnOnce(&mut UI<'_, '_>)>(ui: &mut UI<'_, '_>, contents: F)
Examples found in repository?
examples/widget_gallery.rs (lines 23-59)
22    fn ui(&mut self, ui: &mut pierro::UI) {
23        pierro::scroll_area(ui, |ui| {
24            pierro::margin(ui, |ui| { 
25                pierro::label(ui, "A label");
26                pierro::v_spacing(ui, 10.0);
27
28                pierro::button(ui, "A button");
29                pierro::v_spacing(ui, 10.0);
30
31                pierro::text_edit(ui, &mut self.text_edit_text);
32                pierro::v_spacing(ui, 10.0);
33
34                pierro::checkbox_labeled(ui, "A checkbox", &mut self.checkbox_state);
35                pierro::v_spacing(ui, 10.0);
36
37                let context_menu_response = pierro::label(ui, "Context menu (right click me!)");
38                pierro::context_menu(ui, &context_menu_response, |ui| {
39                    pierro::label(ui, "Inside the context menu");
40                });
41                pierro::v_spacing(ui, 10.0);
42
43                pierro::collapsing_header(ui, "A collapsing header", |ui| {
44                    for i in 0..50 {
45                        pierro::label(ui, i.to_string());
46                    }
47                });
48                pierro::v_spacing(ui, 10.0);
49
50                pierro::dropdown(ui, self.dropdown_state.clone(), |ui| {
51                    for option in ["Option A", "Option B", "Option C"] {
52                        if pierro::menu_button(ui, option).mouse_clicked() {
53                            self.dropdown_state = option.to_owned();
54                        }
55                    }
56                });
57
58            });
59        });
60    }
More examples
Hide additional examples
examples/test.rs (lines 87-105)
15    fn tick(&mut self, ui: &mut pierro::UI) {
16
17        let bg_color = ui.style::<pierro::Theme>().bg_dark;
18        let bg = ui.node(
19            pierro::UINodeParams::new(pierro::Size::fr(1.0), pierro::Size::fr(1.0))
20                .with_layout(pierro::Layout::vertical().with_vertical_overflow())
21                .with_fill(bg_color)
22                .with_transform(pierro::TSTransform::scale(self.zoom))
23        );
24        
25        ui.with_parent(bg.node_ref, |ui| {
26
27            pierro::menu_bar(ui, |ui| {
28                pierro::menu_bar_item(ui, "File", |ui| {
29                    if pierro::menu_button(ui, "New").mouse_clicked() {
30                        println!("New!!");
31                    }
32                    if pierro::menu_button(ui, "Open").mouse_clicked() {
33                        println!("Open!!");
34                    }
35                    pierro::menu_category(ui, "Recent", |ui| {
36                        pierro::menu_button(ui, "A.txt");
37                        pierro::menu_button(ui, "B.txt");
38                        pierro::menu_button(ui, "C.txt");
39                        pierro::menu_category(ui, "!!", |ui| {
40                            pierro::menu_button(ui, "A.txt");
41                            pierro::menu_button(ui, "B.txt");
42                            pierro::menu_button(ui, "C.txt");
43                        });
44                    });
45                    pierro::h_line(ui);
46                    pierro::menu_button(ui, "XYZ").mouse_clicked();
47                    pierro::menu_button(ui, "PQR").mouse_clicked();
48                });
49                pierro::menu_bar_item(ui, "Edit", |ui| {
50                    pierro::menu_button(ui, "Undo").mouse_clicked();
51                    pierro::menu_button(ui, "Redo").mouse_clicked();
52                });
53            });
54
55            pierro::v_spacing(ui, 15.0);
56            pierro::label(ui, "Above the scroll area");
57
58            pierro::dnd_source(ui, "Hello".to_string(), |ui| {
59                pierro::label(ui, "Drag me! (Hello)");
60            });
61            pierro::dnd_source(ui, "World".to_string(), |ui| {
62                pierro::label(ui, "Drag me! (World)");
63            });
64            if let Some(message) = pierro::dnd_drop_zone::<String, _>(ui, |ui| {
65                pierro::label(ui, "Drop here...");
66            }).1 {
67                println!("{}", message);
68            }
69
70            pierro::horizontal(ui, |ui| {
71                if pierro::button(ui, "+").mouse_clicked() {
72                    self.zoom *= 1.25;
73                }
74                if pierro::button(ui, "-").mouse_clicked() {
75                    self.zoom /= 1.25;
76                }
77                
78                let button_response = pierro::button(ui, "@");
79                pierro::context_menu(ui, &button_response, |ui| {
80                    pierro::label(ui, "Truly!!!");
81                });
82            });
83            pierro::v_spacing(ui, 15.0);
84            pierro::text_edit(ui, &mut self.text);
85            pierro::v_spacing(ui, 15.0);
86
87            pierro::scroll_area(ui, |ui| {
88
89                pierro::label(ui, "Button #1: 🍊");
90                if pierro::button(ui, "So long mom, I'm off to drop the bomb").mouse_clicked() {
91                    self.n += 1;
92                }
93
94                pierro::label(ui, "Button #2:");
95                if pierro::button(ui, "So long mom, I'm off to drop the bomb").mouse_clicked() {
96                    self.n -= 1;
97                }
98
99                pierro::label(ui, "The quick brown fox jumped over the lazy dog. The quick brown fox jumped over the lazy dog.The quick brown fox jumped over the lazy dog.The quick brown fox jumped over the lazy dog.The quick brown fox jumped over the lazy dog.The quick brown fox jumped over the lazy dog.The quick brown fox jumped over the lazy dog.The quick brown fox jumped over the lazy dog.The quick brown fox jumped over the lazy dog.The quick brown fox jumped over the lazy dog.The quick brown fox jumped over the lazy dog.");
100
101                for i in 0..100 {
102                    pierro::label(ui, format!("{} {}", i, self.n));
103                }
104
105            });
106
107            pierro::v_spacing(ui, 15.0);
108            pierro::label(ui, "Below the scroll area");
109            pierro::label(ui, "Ниже области прокрутки");
110            pierro::label(ui, "أسفل منطقة التمرير");
111            pierro::v_spacing(ui, 15.0);
112
113        });
114
115    }