diff --git a/color.go b/color.go
index e096e29..f7b7ece 100644
--- a/color.go
+++ b/color.go
@@ -17,15 +17,19 @@ type (
info *walk.ImageView
warning *walk.ImageView
Brand string
- Series []string
+ Series []*Serie
Weight []int
Name string
ColorID int
Red byte
Green byte
Blue byte
- inStock bool
- onHand int
+ }
+
+ Serie struct {
+ Name string
+ inStock bool
+ onHand int
}
)
@@ -34,7 +38,7 @@ func ShowBeads(mw *MyMainWindow, serie string) {
for _, bead := range mw.beads {
bead.Color.SetVisible(false)
for _, s := range bead.Series {
- if s == serie {
+ if s.Name == serie {
bead.Color.SetVisible(true)
}
}
@@ -65,30 +69,37 @@ func LoadBeads(mw *MyMainWindow) {
for _, bead := range brand.Colors {
log.Println("Loading bead: " + bead.ColorName + " ...")
if !bead.Disabled {
- bc := NewBeadColor(mw, bead.ColorName, bead.ColorIndex, bead.OnHand, bead.Red, bead.Green, bead.Blue)
- bc.Series = bead.Series.Serie
+ bc := NewBeadColor(mw, bead.ColorName, bead.ColorIndex, bead.Red, bead.Green, bead.Blue)
+ for _, s := range bead.Series.Serie {
+ se := new(Serie)
+ se.Name = s.Name
+ se.inStock = s.InStock
+ se.onHand = s.OnHand
+ bc.Series = append(bc.Series, se)
+ bc.InfoTooltip.SetText(bc.info, "Approx. "+fmt.Sprint(se.onHand)+" left on hand")
+ bc.WarningTooltip.SetText(bc.warning, "Only "+fmt.Sprint(se.onHand)+" left on hand")
+ if se.onHand <= 200 {
+ bc.warning.SetVisible(true)
+ bc.info.SetVisible(false)
+ } else {
+ bc.warning.SetVisible(false)
+ bc.info.SetVisible(true)
+ }
+ }
bc.Brand = brand.BrandName
bc.Name = bead.ColorName
bc.ColorID = bead.ColorIndex
bc.Red = bead.Red
bc.Green = bead.Green
bc.Blue = bead.Blue
- bc.inStock = bead.InStock
mw.beads = append(mw.beads, bc)
- if bead.OnHand <= 200 {
- bc.warning.SetVisible(true)
- bc.info.SetVisible(false)
- } else {
- bc.warning.SetVisible(false)
- bc.info.SetVisible(true)
- }
}
}
}
}
}
-func NewBeadColor(mw *MyMainWindow, name string, id int, onhand int, red byte, green byte, blue byte) *BeadColor {
+func NewBeadColor(mw *MyMainWindow, name string, id int, red byte, green byte, blue byte) *BeadColor {
var err error
log.Println("Creating bead color: " + name + " ...")
cm, _ := walk.NewComposite(mw.colors)
@@ -100,7 +111,6 @@ func NewBeadColor(mw *MyMainWindow, name string, id int, onhand int, red byte, g
color.Color = cm
log.Println("Bead color struct: ", color)
color.SetBackgroundColor(walk.RGB(red, green, blue))
- color.onHand = onhand
log.Println("Creating checkbox")
color.Checkbox, err = walk.NewCheckBox(cm)
if err != nil {
@@ -120,7 +130,6 @@ func NewBeadColor(mw *MyMainWindow, name string, id int, onhand int, red byte, g
color.InfoTooltip.SetInfoTitle(name + " - " + fmt.Sprint(id))
color.info.SetImage(walk.IconInformation())
color.InfoTooltip.AddTool(color.info)
- color.InfoTooltip.SetText(color.info, "Approx. "+fmt.Sprint(color.onHand)+" left on hand")
color.info.SetVisible(false)
color.warning, err = walk.NewImageView(cm)
if err != nil {
@@ -131,7 +140,6 @@ func NewBeadColor(mw *MyMainWindow, name string, id int, onhand int, red byte, g
color.WarningTooltip.SetWarningTitle(name + " - " + fmt.Sprint(id))
color.warning.SetImage(walk.IconWarning())
color.WarningTooltip.AddTool(color.warning)
- color.WarningTooltip.SetText(color.warning, "Only "+fmt.Sprint(color.onHand)+" left on hand")
color.warning.SetVisible(false)
lbl, _ := walk.NewLabel(cm)
@@ -145,16 +153,30 @@ func (bc *BeadColor) SetBackgroundColor(col walk.Color) {
bc.backgroundColor, _ = walk.NewSolidColorBrush(col)
}
-func (bc *BeadColor) GetOnHand() int {
- return bc.onHand
+func (bc *BeadColor) GetOnHand(serie string) int {
+ for _, s := range bc.Series {
+ if s.Name == serie {
+ return s.onHand
+ }
+ }
+ return 0
}
-func (bc *BeadColor) GetInStock() bool {
- return bc.inStock
+func (bc *BeadColor) GetInStock(serie string) bool {
+ for _, s := range bc.Series {
+ if s.Name == serie {
+ return s.inStock
+ }
+ }
+ return false
}
-func (bc *BeadColor) SetInStock(inStock bool) {
- bc.inStock = inStock
+func (bc *BeadColor) SetInStock(serie string, inStock bool) {
+ for _, s := range bc.Series {
+ if s.Name == serie {
+ s.inStock = inStock
+ }
+ }
}
func (bc *BeadColor) GetColorID() int {
diff --git a/main.go b/main.go
index 63ad392..182a5a8 100644
--- a/main.go
+++ b/main.go
@@ -30,7 +30,7 @@ type MyMainWindow struct {
const (
AppName string = "BeadImager"
- Version string = "0.2.3"
+ Version string = "0.2.4"
CopyRight string = "©2022 Jan Lerking"
STD_MESS string = "Ready"
LogFile string = "BeadImager.log"
diff --git a/pallette.go b/pallette.go
index 05c4b91..4af4539 100644
--- a/pallette.go
+++ b/pallette.go
@@ -36,7 +36,12 @@ type (
Colorstruct struct {
Series struct {
XMLName xml.Name `xml:"series"`
- Serie []string `xml:"serie"`
+ Serie []struct {
+ XMLName xml.Name `xml:"serie"`
+ Name string `xml:"name,attr"`
+ InStock bool `xml:"inStock"`
+ OnHand int `xml:"onHand"`
+ }
}
ColorIndex int `xml:"colorIndex,attr"`
ColorName string `xml:"colorname"`
@@ -50,8 +55,6 @@ type (
IsNeutral bool `xml:"isNeutral"`
IsGrayscale bool `xml:"isGrayscale"`
Disabled bool `xml:"disabled"`
- InStock bool `xml:"inStock"`
- OnHand int `xml:"onHand"`
}
Pegboards struct {
diff --git a/pallettes/pallette.xml b/pallettes/pallette.xml
index a2fff13..f502e5e 100644
--- a/pallettes/pallette.xml
+++ b/pallettes/pallette.xml
@@ -43,9 +43,18 @@
- Mini
- Midi
- Maxi
+
+ true
+ 100
+
+
+ true
+ 100
+
+
+ true
+ 100
+
White
H01
@@ -58,13 +67,17 @@
true
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Creme
H02
@@ -77,14 +90,21 @@
true
false
false
- true
- 100
- Mini
- Midi
- Maxi
+
+ true
+ 100
+
+
+ true
+ 100
+
+
+ true
+ 100
+
Yellow
H03
@@ -97,13 +117,17 @@
true
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Orange
H04
@@ -116,14 +140,21 @@
true
false
false
- true
- 100
- Mini
- Midi
- Maxi
+
+ true
+ 100
+
+
+ true
+ 100
+
+
+ true
+ 100
+
Red
H05
@@ -136,13 +167,17 @@
true
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Pink
H06
@@ -155,14 +190,21 @@
true
false
false
- true
- 100
- Mini
- Midi
- Maxi
+
+ true
+ 100
+
+
+ true
+ 100
+
+
+ true
+ 100
+
Purple
H07
@@ -175,13 +217,17 @@
true
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Blue
H08
@@ -194,14 +240,21 @@
true
false
false
- true
- 100
- Mini
- Midi
- Maxi
+
+ true
+ 100
+
+
+ true
+ 100
+
+
+ true
+ 100
+
Light blue
H09
@@ -214,14 +267,21 @@
true
false
false
- true
- 100
- Mini
- Midi
- Maxi
+
+ true
+ 100
+
+
+ true
+ 100
+
+
+ true
+ 100
+
Green
H10
@@ -234,13 +294,17 @@
true
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Light green
H11
@@ -253,13 +317,17 @@
true
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Brown
H12
@@ -272,13 +340,17 @@
true
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Translucent red
H13
@@ -291,13 +363,17 @@
false
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Translucent yellow
H14
@@ -310,13 +386,17 @@
false
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Translucent blue
H15
@@ -329,13 +409,17 @@
false
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Translucent green
H16
@@ -348,14 +432,21 @@
false
false
false
- true
- 100
- Mini
- Midi
- Maxi
+
+ true
+ 100
+
+
+ true
+ 100
+
+
+ true
+ 100
+
Grey
H17
@@ -368,14 +459,21 @@
true
true
false
- true
- 100
- Mini
- Midi
- Maxi
+
+ true
+ 100
+
+
+ true
+ 100
+
+
+ true
+ 100
+
Black
H18
@@ -388,13 +486,17 @@
true
true
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Clear
H19
@@ -407,14 +509,21 @@
false
false
false
- true
- 100
- Mini
- Midi
- Maxi
+
+ true
+ 100
+
+
+ true
+ 100
+
+
+ true
+ 100
+
Red brown
H20
@@ -427,13 +536,17 @@
true
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Light brown
H21
@@ -446,13 +559,17 @@
true
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Dark red
H22
@@ -465,13 +582,17 @@
true
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Translucent purple
H24
@@ -484,12 +605,13 @@
false
false
false
- true
- 100
- Midi
+
+ true
+ 100
+
Translucent brown
H25
@@ -502,14 +624,21 @@
false
false
false
- true
- 100
- Mini
- Midi
- Maxi
+
+ true
+ 100
+
+
+ true
+ 100
+
+
+ true
+ 100
+
Flesh
H26
@@ -522,13 +651,17 @@
true
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Beige
H27
@@ -541,13 +674,17 @@
true
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Dark green
H28
@@ -560,13 +697,17 @@
true
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Rapsberry
H29
@@ -579,13 +720,17 @@
true
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Burgrundy
H30
@@ -598,13 +743,17 @@
true
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Turquoise
H31
@@ -617,14 +766,21 @@
true
false
false
- true
- 100
- Mini
- Midi
- Maxi
+
+ true
+ 100
+
+
+ true
+ 100
+
+
+ true
+ 100
+
Neon Fuchsia
H32
@@ -637,13 +793,17 @@
true
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Fluorescent cerise
H33
@@ -656,14 +816,21 @@
false
false
false
- true
- 100
- Mini
- Midi
- Maxi
+
+ true
+ 100
+
+
+ true
+ 100
+
+
+ true
+ 100
+
Neon yellow
H34
@@ -676,14 +843,21 @@
false
false
false
- true
- 100
- Mini
- Midi
- Maxi
+
+ true
+ 100
+
+
+ true
+ 100
+
+
+ true
+ 100
+
Neon red
H35
@@ -696,14 +870,21 @@
false
false
false
- true
- 100
- Mini
- Midi
- Maxi
+
+ true
+ 100
+
+
+ true
+ 100
+
+
+ true
+ 100
+
Neon blue
H36
@@ -716,14 +897,21 @@
false
false
false
- true
- 100
- Mini
- Midi
- Maxi
+
+ true
+ 100
+
+
+ true
+ 100
+
+
+ true
+ 100
+
Neon green
H37
@@ -736,14 +924,21 @@
false
false
false
- true
- 100
- Mini
- Midi
- Maxi
+
+ true
+ 100
+
+
+ true
+ 100
+
+
+ true
+ 100
+
Neon orange
H38
@@ -756,12 +951,13 @@
false
false
false
- true
- 100
- Midi
+
+ true
+ 100
+
Fluorescent yellow
H39
@@ -774,12 +970,13 @@
false
false
false
- true
- 100
- Midi
+
+ true
+ 100
+
Fluorescent orange
H40
@@ -792,12 +989,13 @@
false
false
false
- true
- 100
- Midi
+
+ true
+ 100
+
Fluroescent blue
H41
@@ -810,13 +1008,17 @@
false
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Flourecent green
H42
@@ -829,14 +1031,21 @@
false
false
false
- true
- 100
- Mini
- Midi
- Maxi
+
+ true
+ 100
+
+
+ true
+ 100
+
+
+ true
+ 100
+
Pastel yellow
H43
@@ -849,14 +1058,21 @@
true
false
false
- true
- 100
- Mini
- Midi
- Maxi
+
+ true
+ 100
+
+
+ true
+ 100
+
+
+ true
+ 100
+
Pastel coral
H44
@@ -869,14 +1085,21 @@
true
false
false
- true
- 100
- Mini
- Midi
- Maxi
+
+ true
+ 100
+
+
+ true
+ 100
+
+
+ true
+ 100
+
Pastel purple
H45
@@ -889,14 +1112,21 @@
true
false
false
- true
- 100
- Mini
- Midi
- Maxi
+
+ true
+ 100
+
+
+ true
+ 100
+
+
+ true
+ 100
+
Pastel blue
H46
@@ -909,14 +1139,21 @@
true
false
false
- true
- 100
- Mini
- Midi
- Maxi
+
+ true
+ 100
+
+
+ true
+ 100
+
+
+ true
+ 100
+
pastel green
H47
@@ -929,14 +1166,21 @@
true
false
false
- true
- 100
- Mini
- Midi
- Maxi
+
+ true
+ 100
+
+
+ true
+ 100
+
+
+ true
+ 100
+
pastel pink
H48
@@ -949,13 +1193,17 @@
true
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Azure
H49
@@ -968,12 +1216,13 @@
true
false
false
- true
- 100
- Midi
+
+ true
+ 100
+
Flourecent green
H55
@@ -986,12 +1235,13 @@
false
false
false
- true
- 500
- Midi
+
+ true
+ 100
+
Flourecent red
H56
@@ -1004,12 +1254,13 @@
false
false
false
- true
- 500
- Midi
+
+ true
+ 100
+
Flourecent blue
H57
@@ -1022,13 +1273,17 @@
false
false
false
- true
- 500
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Teddybear brown
H60
@@ -1041,12 +1296,13 @@
true
false
false
- true
- 100
- Midi
+
+ true
+ 100
+
Gold
H61
@@ -1059,12 +1315,13 @@
false
false
false
- true
- 100
- Midi
+
+ true
+ 100
+
Silver
H62
@@ -1077,12 +1334,13 @@
false
false
false
- true
- 500
- Midi
+
+ true
+ 100
+
Bronze
H63
@@ -1095,12 +1353,13 @@
false
false
false
- true
- 100
- Midi
+
+ true
+ 100
+
Pearl
H64
@@ -1113,14 +1372,21 @@
false
false
false
- true
- 100
- Mini
- Midi
- Maxi
+
+ true
+ 100
+
+
+ true
+ 100
+
+
+ true
+ 100
+
Light grey
H70
@@ -1133,13 +1399,17 @@
true
true
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Dark grey
H71
@@ -1152,13 +1422,17 @@
true
true
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Translucent pink
H72
@@ -1171,13 +1445,17 @@
false
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Translucent aqua
H73
@@ -1190,13 +1468,17 @@
false
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Translucent lilac
H74
@@ -1209,13 +1491,17 @@
false
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Tan
H75
@@ -1228,13 +1514,17 @@
true
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Nougat
H76
@@ -1247,13 +1537,17 @@
true
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Cloudy white
H77
@@ -1266,13 +1560,17 @@
true
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Light peach
H78
@@ -1285,14 +1583,21 @@
true
false
false
- true
- 100
- Mini
- Midi
- Maxi
+
+ true
+ 100
+
+
+ true
+ 100
+
+
+ true
+ 100
+
Apricot
H79
@@ -1305,13 +1610,17 @@
true
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Plum
H82
@@ -1324,13 +1633,17 @@
true
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Petrol Blue
H83
@@ -1343,13 +1656,17 @@
true
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Olive
H84
@@ -1362,13 +1679,17 @@
true
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Pastel rosa
H95
@@ -1381,13 +1702,17 @@
false
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Pastel lilac
H96
@@ -1400,13 +1725,17 @@
false
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Pastel ice blue
H97
@@ -1419,13 +1748,17 @@
false
false
false
- true
- 100
- Mini
- Midi
+
+ true
+ 100
+
+
+ true
+ 100
+
Pastel mint
H98
@@ -1438,8 +1771,6 @@
false
false
false
- true
- 100