From 5f8ccd8156f7ace2aefb74c0907a431a49215d69 Mon Sep 17 00:00:00 2001
From: Federico Lolli <federico.lolli@skywarder.eu>
Date: Fri, 21 Mar 2025 19:49:35 +0100
Subject: [PATCH] Added minimum size

---
 src/ui/app.rs                 | 4 ++++
 src/ui/panes/valve_control.rs | 6 ++++--
 2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/ui/app.rs b/src/ui/app.rs
index 801b580..a5a1ba1 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 91cf456..87fd3e7 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 {
-- 
GitLab