From 4ed36abe10e629322078a440ae7071132c65da7a Mon Sep 17 00:00:00 2001 From: sam-anthony Date: Sun, 10 Apr 2022 19:49:06 -0230 Subject: fix bug in building compressor selection widget tree --- ui.go | 27 ++++++++++++++++++--------- 1 file changed, 18 insertions(+), 9 deletions(-) (limited to 'ui.go') diff --git a/ui.go b/ui.go index 2631cab..33c682d 100644 --- a/ui.go +++ b/ui.go @@ -279,20 +279,29 @@ var compressorTree []g.Widget func init() { compressors := compressor.Compressors() - for manufacturer := range compressors { - manufacturerNode := g.TreeNode(manufacturer) - for series := range compressors[manufacturer] { - seriesNode := g.TreeNode(series) - for model, c := range compressors[manufacturer][series] { - seriesNode = seriesNode.Layout( - g.Selectable(model).OnClick(func() { + for man := range compressors { + man := man // Manufacturer + var serNodes []g.Widget + for ser := range compressors[man] { + ser := ser // Series + var modNodes []g.Widget + for mod, c := range compressors[man][ser] { + mod := mod // Model + c := c // Compressor + modNodes = append( + modNodes, + g.Selectable(mod).OnClick(func() { go setCompressor(c) }), ) } - manufacturerNode = manufacturerNode.Layout(seriesNode) + serNodes = append( + serNodes, + g.TreeNode(ser).Layout(modNodes...), + ) } - compressorTree = append(compressorTree, manufacturerNode) + manNode := g.TreeNode(man).Layout(serNodes...) + compressorTree = append(compressorTree, manNode) } } -- cgit v1.2.3