From b71d4c16a1411572b0fd41a2dc2cb8699dd68416 Mon Sep 17 00:00:00 2001 From: _ <> Date: Sun, 10 Oct 2021 19:55:52 +0000 Subject: [PATCH] :recycle: refactor: use `add_port` in initialization, too --- prototypes/ptth_quic_client_gui/src/main.rs | 45 ++++++++++----------- 1 file changed, 22 insertions(+), 23 deletions(-) diff --git a/prototypes/ptth_quic_client_gui/src/main.rs b/prototypes/ptth_quic_client_gui/src/main.rs index 0c01e2a..bbda847 100644 --- a/prototypes/ptth_quic_client_gui/src/main.rs +++ b/prototypes/ptth_quic_client_gui/src/main.rs @@ -111,6 +111,23 @@ impl GuiClient <'_> { self.frame_status.set_label (&format! ("Forwarding {} ports", open_ports)); } + + pub fn add_port ( + &mut self, + ports_col: &mut Flex, + fltk_tx: fltk::app::Sender + ) { + let mut gui = GuiPort::new (fltk_tx, self.ports.len ()); + ports_col.add (&gui.row); + ports_col.set_size (&mut gui.row, 30); + + let port = Port { + gui, + forwarding_instance: None, + }; + + self.ports.push (port); + } } fn main () -> anyhow::Result <()> { @@ -147,18 +164,6 @@ fn main () -> anyhow::Result <()> { } let mut ports_col = Flex::default ().column (); - - let ports = (0..3) - .map (|i| { - let mut gui = GuiPort::new (fltk_tx, i); - ports_col.set_size (&mut gui.row, 30); - - Port { - gui, - forwarding_instance: None, - } - }).collect (); - ports_col.end (); let mut but_add_port = Button::default ().with_label ("+"); @@ -171,9 +176,12 @@ fn main () -> anyhow::Result <()> { let mut gui_client = GuiClient { rt: &rt, frame_status, - ports, + ports: Default::default (), }; + gui_client.add_port (&mut ports_col, fltk_tx); + ports_col.recalc (); + gui_client.sync_status (); wind.end (); @@ -216,16 +224,7 @@ fn main () -> anyhow::Result <()> { gui_client.close_port (port_idx)?; }, Some (Message::AddPort) => { - let mut gui = GuiPort::new (fltk_tx, gui_client.ports.len ()); - ports_col.add (&gui.row); - ports_col.set_size (&mut gui.row, 30); - - let port = Port { - gui, - forwarding_instance: None, - }; - - gui_client.ports.push (port); + gui_client.add_port (&mut ports_col, fltk_tx); ports_col.recalc (); ports_col.redraw (); },