diff --git a/src/ui/app.rs b/src/ui/app.rs index 801b580c3585203a1b8eadc74a277380cae24b74..a5a1ba1f9abb6a0383cca134da2f92dbfa3a1b41 100644 --- a/src/ui/app.rs +++ b/src/ui/app.rs @@ -427,6 +427,10 @@ impl Behavior<Pane> for AppBehavior { fn tab_title_for_pane(&mut self, _pane: &Pane) -> egui::WidgetText { "Tab".into() } + + fn min_size(&self) -> f32 { + 200.0 + } } #[derive(Clone)] diff --git a/src/ui/panes/valve_control.rs b/src/ui/panes/valve_control.rs index 91cf456b7b82d0f36b8561b6d2bdb627a168e6f7..87fd3e7262cb93d5567861a67017ba0e468c9f43 100644 --- a/src/ui/panes/valve_control.rs +++ b/src/ui/panes/valve_control.rs @@ -145,9 +145,11 @@ impl PaneBehavior for ValveControlPane { impl ValveControlPane { fn pane_ui(&mut self) -> impl FnOnce(&mut Ui) { |ui| { - let valve_chunks = Valve::iter().enumerate().chunks(3); + ui.set_min_width(200.0); + let n = (ui.max_rect().width() / 200.0) as usize; + let valve_chunks = Valve::iter().enumerate().chunks(n); Grid::new("valves_grid") - .num_columns(3) + .num_columns(n) .spacing(Vec2::splat(5.)) .show(ui, |ui| { for chunk in &valve_chunks {