aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorsam-anthony <samanthony6@protonmail.com>2022-04-10 19:49:06 -0230
committersam-anthony <samanthony6@protonmail.com>2022-04-10 19:49:06 -0230
commit4ed36abe10e629322078a440ae7071132c65da7a (patch)
tree52ba3e7a6beec499cd89c9e1ba5803e022b8291f
parent37400eb4b5f5a8ee16ff751c3a629ea836452a49 (diff)
downloadvolute-4ed36abe10e629322078a440ae7071132c65da7a.zip
fix bug in building compressor selection widget tree
-rw-r--r--compressor/compressor.go42
-rw-r--r--compressor/res/borgwarner/efr/6258.jpgbin0 -> 149631 bytes
-rw-r--r--compressor/res/borgwarner/k/04.jpgbin0 -> 231277 bytes
-rw-r--r--ui.go27
4 files changed, 59 insertions, 10 deletions
diff --git a/compressor/compressor.go b/compressor/compressor.go
index 940d6fa..fc12f26 100644
--- a/compressor/compressor.go
+++ b/compressor/compressor.go
@@ -33,10 +33,12 @@ func init() {
compressors["Garrett"] = make(map[string]map[string]Compressor)
compressors["Garrett"]["G"] = make(map[string]Compressor)
compressors["Garrett"]["G"]["25-660"] = garrettG25660()
-
compressors["BorgWarner"] = make(map[string]map[string]Compressor)
compressors["BorgWarner"]["K"] = make(map[string]Compressor)
compressors["BorgWarner"]["K"]["03"] = borgwarnerK03()
+ compressors["BorgWarner"]["K"]["04"] = borgwarnerK04()
+ compressors["BorgWarner"]["EFR"] = make(map[string]Compressor)
+ compressors["BorgWarner"]["EFR"]["6258"] = borgwarnerEFR6258()
}
func Compressors() map[string]map[string]map[string]Compressor {
@@ -62,6 +64,44 @@ func garrettG25660() Compressor {
}
}
+func borgwarnerEFR6258() Compressor {
+ maxFlow, err := mass.NewFlowRate(
+ mass.Mass{0.50, mass.Kilogram},
+ time.Second,
+ mass.KilogramsPerSecond,
+ )
+ util.Check(err)
+ return Compressor{
+ "BorgWarner EFR6258",
+ "compressor/res/borgwarner/efr/6258.jpg",
+ 47,
+ 455,
+ 773,
+ 6,
+ maxFlow,
+ 3.8,
+ }
+}
+
+func borgwarnerK04() Compressor {
+ maxFlow, err := mass.NewFlowRate(
+ mass.Mass{0.18, mass.Kilogram},
+ time.Second,
+ mass.KilogramsPerSecond,
+ )
+ util.Check(err)
+ return Compressor{
+ "Borgwarner K04",
+ "compressor/res/borgwarner/k/04.jpg",
+ 33,
+ 712,
+ 1090,
+ 2,
+ maxFlow,
+ 2.8,
+ }
+}
+
func borgwarnerK03() Compressor {
maxFlow, err := mass.NewFlowRate(
mass.Mass{0.13, mass.Kilogram},
diff --git a/compressor/res/borgwarner/efr/6258.jpg b/compressor/res/borgwarner/efr/6258.jpg
new file mode 100644
index 0000000..a8288bf
--- /dev/null
+++ b/compressor/res/borgwarner/efr/6258.jpg
Binary files differ
diff --git a/compressor/res/borgwarner/k/04.jpg b/compressor/res/borgwarner/k/04.jpg
new file mode 100644
index 0000000..9c72a6c
--- /dev/null
+++ b/compressor/res/borgwarner/k/04.jpg
Binary files differ
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)
}
}