diff --git a/main.go b/main.go
index 7e0ea35..4d3cb0b 100644
--- a/main.go
+++ b/main.go
@@ -9,16 +9,22 @@ import (
type MyMainWindow struct {
*walk.MainWindow
- colors *walk.ScrollView
- canvas *walk.ScrollView
- properties *walk.ScrollView
- pallette Pallette
- beads []*BeadColor
+ colors *walk.ScrollView
+ canvas *walk.ScrollView
+ properties *walk.ScrollView
+ pallette Pallette
+ beads []*BeadColor
+ pallette_combo *walk.ComboBox
+ brand_model []string
+ serie_combo *walk.ComboBox
+ serie_model []string
+ pegboard_combo *walk.ComboBox
+ pegboard_model []string
}
const (
AppName string = "BeadImager"
- Version string = "0.0.7"
+ Version string = "0.0.8"
CopyRight string = "©2022 Jan Lerking"
STD_MESS string = "Ready"
UserPath string = "C:\\Users\\janle\\BeadImager"
@@ -40,8 +46,7 @@ func main() {
log.Println("Pallette created: ", mw.pallette)
//LoadBeads(mw)
//log.Println("Beads loaded: ", mw.beads)
- brand_model := CreateBrandsList(mw)
- pallette_combo := new(walk.ComboBox)
+ mw.brand_model = CreateBrandsList(mw)
DD_Pallette := Composite{
Layout: HBox{MarginsZero: true},
@@ -50,18 +55,18 @@ func main() {
Text: "Pallette:",
},
ComboBox{
- AssignTo: &pallette_combo,
- Model: brand_model,
+ AssignTo: &mw.pallette_combo,
+ Model: mw.brand_model,
OnCurrentIndexChanged: func() {
- log.Println("Pallette changed to: ", pallette_combo.Text())
+ log.Println("Pallette changed to: ", mw.pallette_combo.Text())
+ mw.serie_model = CreateSeriesList(mw)
+ mw.serie_combo.SetModel(mw.serie_model)
+ mw.serie_combo.SetEnabled(true)
},
},
},
}
- serie_model := CreateSeriesList(mw)
- serie_combo := new(walk.ComboBox)
-
DD_Serie := Composite{
Layout: HBox{MarginsZero: true},
Children: []Widget{
@@ -69,10 +74,31 @@ func main() {
Text: "Serie:",
},
ComboBox{
- AssignTo: &serie_combo,
- Model: serie_model,
+ AssignTo: &mw.serie_combo,
+ Enabled: false,
OnCurrentIndexChanged: func() {
- log.Println("Serie changed to: ", serie_combo.Text())
+ log.Println("Serie changed to: ", mw.serie_combo.Text())
+ mw.pegboard_model = CreatePegboardsList(mw)
+ mw.pegboard_combo.SetModel(mw.pegboard_model)
+ mw.pegboard_combo.SetEnabled(true)
+ },
+ },
+ },
+ }
+
+ //pegboard_model := CreatePegboardsList(mw)
+
+ DD_Pegboard := Composite{
+ Layout: HBox{MarginsZero: true},
+ Children: []Widget{
+ Label{
+ Text: "Pegboard:",
+ },
+ ComboBox{
+ AssignTo: &mw.pegboard_combo,
+ Enabled: false,
+ OnCurrentIndexChanged: func() {
+ log.Println("Pegboard changed to: ", mw.pegboard_combo.Text())
},
},
},
@@ -93,6 +119,7 @@ func main() {
Children: []Widget{
DD_Pallette,
DD_Serie,
+ DD_Pegboard,
PushButton{
Text: "Edit Animal",
OnClicked: func() {},
diff --git a/pallette.go b/pallette.go
index 4d2f5d7..13ac90a 100644
--- a/pallette.go
+++ b/pallette.go
@@ -70,11 +70,29 @@ type (
}
)
+func CreatePegboardsList(mw *MyMainWindow) []string {
+ pegboards := make([]string, 0)
+ for _, brand := range mw.pallette.Brands.Brand {
+ if brand.BrandName == mw.pallette_combo.Text() {
+ for _, serie := range brand.Series.Serie {
+ if serie.SerieName == mw.serie_combo.Text() {
+ for _, pegboard := range serie.Pegboards.Pegboard {
+ pegboards = append(pegboards, pegboard.Type)
+ }
+ }
+ }
+ }
+ }
+ return pegboards
+}
+
func CreateSeriesList(mw *MyMainWindow) []string {
series := make([]string, 0)
for _, brand := range mw.pallette.Brands.Brand {
- for _, serie := range brand.Series.Serie {
- series = append(series, serie.SerieName)
+ if brand.BrandName == mw.pallette_combo.Text() {
+ for _, serie := range brand.Series.Serie {
+ series = append(series, serie.SerieName)
+ }
}
}
return series
diff --git a/pallettes/pallette.xml b/pallettes/pallette.xml
index c707bd4..4747a5c 100644
--- a/pallettes/pallette.xml
+++ b/pallettes/pallette.xml
@@ -6,14 +6,22 @@
Hama
+
+ Mini
+
Midi
- Big
+ Big 29x29
29
29
+
+ Small 14x14
+ 14
+ 14
+
@@ -967,6 +975,9 @@
+
+ Maxi
+