From 17ed6cc4c5faaf1c29f04a054ac68001037757f1 Mon Sep 17 00:00:00 2001 From: _ <> Date: Sun, 10 Oct 2021 19:51:25 +0000 Subject: [PATCH] :lipstick: you can now add more ports, but it's still not useful --- prototypes/ptth_quic_client_gui/src/main.rs | 23 ++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/prototypes/ptth_quic_client_gui/src/main.rs b/prototypes/ptth_quic_client_gui/src/main.rs index 5fc5f10..0c01e2a 100644 --- a/prototypes/ptth_quic_client_gui/src/main.rs +++ b/prototypes/ptth_quic_client_gui/src/main.rs @@ -37,6 +37,7 @@ struct Opt { enum Message { OpenPort (usize), ClosePort (usize), + AddPort, } struct GuiClient <'a> { @@ -145,10 +146,12 @@ fn main () -> anyhow::Result <()> { col.set_size (&mut row, 30); } + let mut ports_col = Flex::default ().column (); + let ports = (0..3) .map (|i| { let mut gui = GuiPort::new (fltk_tx, i); - col.set_size (&mut gui.row, 30); + ports_col.set_size (&mut gui.row, 30); Port { gui, @@ -156,7 +159,11 @@ fn main () -> anyhow::Result <()> { } }).collect (); + ports_col.end (); + let mut but_add_port = Button::default ().with_label ("+"); + but_add_port.set_trigger (CallbackTrigger::Release); + but_add_port.emit (fltk_tx, Message::AddPort); col.set_size (&mut but_add_port, 30); col.end (); @@ -208,6 +215,20 @@ fn main () -> anyhow::Result <()> { Some (Message::ClosePort (port_idx)) => { 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); + ports_col.recalc (); + ports_col.redraw (); + }, None => (), } }