pub fn menu_category<S: Into<String>, F: FnOnce(&mut UI<'_, '_>)>(
ui: &mut UI<'_, '_>,
label_text: S,
contents: F,
)Examples found in repository?
examples/widget_gallery.rs (lines 198-201)
192 fn tick(&mut self, ui: &mut pierro::UI) {
193 pierro::menu_bar(ui, |ui| {
194 pierro::menu_bar_item(ui, "Menubar", |ui| {
195 pierro::menu_button(ui, "Button A");
196 pierro::menu_button(ui, "Button B");
197 pierro::menu_button(ui, "Button C");
198 pierro::menu_category(ui, "Category", |ui| {
199 pierro::menu_button(ui, "Button X");
200 pierro::menu_button(ui, "Button Y");
201 });
202 });
203 });
204 self.docking_state.render(ui, &mut ());
205 }More examples
examples/test.rs (lines 35-44)
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 }