diff --git a/egui/src/containers/combo_box.rs b/egui/src/containers/combo_box.rs index 30bcd200..54795cd3 100644 --- a/egui/src/containers/combo_box.rs +++ b/egui/src/containers/combo_box.rs @@ -60,13 +60,10 @@ pub fn combo_box( let frame = Frame::popup(ui.style()); let frame_margin = frame.margin; frame.show(ui, |ui| { - ui.with_layout( - Layout::top_down(Align::left()).with_cross_justify(true), - |ui| { - ui.set_min_width(button_response.rect.width() - 2.0 * frame_margin.x); - menu_contents(ui); - }, - ); + ui.with_layout(Layout::top_down_justified(Align::left()), |ui| { + ui.set_min_width(button_response.rect.width() - 2.0 * frame_margin.x); + menu_contents(ui); + }); }) }); diff --git a/egui/src/layout.rs b/egui/src/layout.rs index 0640a767..ad674212 100644 --- a/egui/src/layout.rs +++ b/egui/src/layout.rs @@ -166,6 +166,11 @@ impl Layout { } } + /// Top-down layout justifed so that buttons etc fill the full available width. + pub fn top_down_justified(cross_align: Align) -> Self { + Self::top_down(cross_align).with_cross_justify(true) + } + pub fn bottom_up(cross_align: Align) -> Self { Self { main_dir: Direction::BottomUp, diff --git a/egui/src/menu.rs b/egui/src/menu.rs index 46bd1486..2a149aac 100644 --- a/egui/src/menu.rs +++ b/egui/src/menu.rs @@ -111,10 +111,7 @@ fn menu_impl<'c>( style.visuals.widgets.inactive.bg_fill = TRANSPARENT; style.visuals.widgets.inactive.bg_stroke = Stroke::none(); ui.set_style(style); - ui.with_layout( - Layout::top_down(Align::left()).with_cross_justify(true), - add_contents, - ); + ui.with_layout(Layout::top_down_justified(Align::left()), add_contents); }) });