pub fn dropdown_labeled<L: Into<String>, S: Into<String>, F: FnOnce(&mut UI<'_, '_>)>(
ui: &mut UI<'_, '_>,
label_text: L,
dropdown_text: S,
contents: F,
)Examples found in repository?
examples/widget_gallery.rs (lines 90-100)
87 fn ui(&mut self, ui: &mut pierro::UI) {
88
89 pierro::margin(ui, |ui| {
90 pierro::dropdown_labeled(ui, "Axis: ", match self.axis {
91 pierro::Axis::X => "X",
92 pierro::Axis::Y => "Y",
93 }, |ui| {
94 if pierro::menu_button(ui, "X").mouse_clicked() {
95 self.axis = pierro::Axis::X;
96 }
97 if pierro::menu_button(ui, "Y").mouse_clicked() {
98 self.axis = pierro::Axis::Y;
99 }
100 });
101 pierro::v_spacing(ui, 5.0);
102
103 pierro::dropdown_labeled(ui, "Justify: ", match self.justify {
104 pierro::Justify::Min => "Min",
105 pierro::Justify::Center => "Center",
106 pierro::Justify::Max => "Max",
107 }, |ui| {
108 if pierro::menu_button(ui, "Min").mouse_clicked() {
109 self.justify = pierro::Justify::Min;
110 }
111 if pierro::menu_button(ui, "Center").mouse_clicked() {
112 self.justify = pierro::Justify::Center;
113 }
114 if pierro::menu_button(ui, "Max").mouse_clicked() {
115 self.justify = pierro::Justify::Max;
116 }
117 });
118 pierro::v_spacing(ui, 5.0);
119
120 pierro::dropdown_labeled(ui, "Align: ", match self.align {
121 pierro::Align::Min => "Min",
122 pierro::Align::Center => "Center",
123 pierro::Align::Max => "Max",
124 }, |ui| {
125 if pierro::menu_button(ui, "Min").mouse_clicked() {
126 self.align = pierro::Align::Min;
127 }
128 if pierro::menu_button(ui, "Center").mouse_clicked() {
129 self.align = pierro::Align::Center;
130 }
131 if pierro::menu_button(ui, "Max").mouse_clicked() {
132 self.align = pierro::Align::Max;
133 }
134 });
135 });
136
137 pierro::h_divider(ui);
138 pierro::container(ui,
139 pierro::Size::fr(1.0),
140 pierro::Size::fr(1.0),
141 pierro::Layout::new(self.axis).with_justify(self.justify).with_align(self.align),
142 |ui| {
143 self.node(ui, pierro::Color::RED);
144 self.node(ui, pierro::Color::GREEN);
145 self.node(ui, pierro::Color::BLUE);
146 });
147 }