From abb43aada883ba68a6e75c049466b3740321c60e Mon Sep 17 00:00:00 2001 From: Lerking Date: Sat, 17 Dec 2022 23:16:03 +0100 Subject: [PATCH] 0.2.0 Refactored pallette. /JL --- color.go | 59 +- config.go | 2 +- main.go | 2 +- pallette.go | 105 +- pallettes/pallette.xml | 2574 ++++++++++++++++++++++------------------ 5 files changed, 1526 insertions(+), 1216 deletions(-) diff --git a/color.go b/color.go index c706d39..b4e77d2 100644 --- a/color.go +++ b/color.go @@ -33,7 +33,7 @@ func CreateBeadsGroup(mw *MyMainWindow) { gb.SetTitle("Beads") gb.SetLayout(walk.NewVBoxLayout()) btn, _ := walk.NewPushButton(gb) - btn.SetText("Select all colors") + btn.SetText("Select all colors") btn.Clicked().Attach(func() { for _, bead := range mw.beads { bead.Checkbox.SetChecked(true) @@ -45,34 +45,43 @@ func CreateBeadsGroup(mw *MyMainWindow) { } func LoadBeads(mw *MyMainWindow) { - for _, brand := range mw.pallette.Brands.Brand { + var located bool + + for _, brand := range mw.pallette.Brand { if brand.BrandName == mw.brand_combo.Text() { log.Println("Loading beads for brand: " + brand.BrandName + " ...") - for _, series := range brand.Series.Serie { - if series.SerieName == mw.serie_combo.Text() { - log.Println("Loading beads for serie: " + series.SerieName + " ...") - for _, bead := range series.Beads.Color { - 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.Brand = brand.BrandName - bc.Series = series.SerieName - bc.Weight = series.Weight - 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) + log.Println("Loading beads for serie: " + mw.serie_combo.Text() + " ...") + for _, bead := range brand.Colors { + for _, serie := range bead.Series.Serie { + if serie == mw.serie_combo.Text() { + located = true + } + } + if located { + log.Println("Loading bead: " + bead.ColorName + " ...") + if !bead.Disabled { + bc := NewBeadColor(mw, bead.ColorName, bead.ColorIndex, bead.OnHand, bead.Red, bead.Green, bead.Blue) + for _, series := range brand.Series { + if series.Serie == mw.serie_combo.Text() { + bc.Series = series.Serie + bc.Weight = series.Weight } } + 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) + } } } } diff --git a/config.go b/config.go index a42ddc7..e644041 100644 --- a/config.go +++ b/config.go @@ -40,7 +40,7 @@ func CreateDefaultConfig() { Config.AddSection("pallette") Config.Set("pallette", "brand", "Hama") Config.Set("pallette", "serie", "Midi") - Config.Set("pallette", "pegboard", "Large 29x29") + Config.Set("pallette", "pegboard", "Square 29x29") Config.AddSection("canvas") Config.Set("canvas", "scale", "100") Config.Set("canvas", "showgrid", "true") diff --git a/main.go b/main.go index 3ac38fc..8d99522 100644 --- a/main.go +++ b/main.go @@ -30,7 +30,7 @@ type MyMainWindow struct { const ( AppName string = "BeadImager" - Version string = "0.1.3" + Version string = "0.2.0" CopyRight string = "©2022 Jan Lerking" STD_MESS string = "Ready" LogFile string = "BeadImager.log" diff --git a/pallette.go b/pallette.go index 5542519..192e737 100644 --- a/pallette.go +++ b/pallette.go @@ -11,70 +11,54 @@ import ( type ( Pallette struct { - XMLName xml.Name `xml:"pallette"` - Brands Brandsstruct `xml:"brands"` - } - - Brandsstruct struct { - XMLName xml.Name `xml:"brands"` + XMLName xml.Name `xml:"pallette"` Brand []Brandstruct `xml:"brand"` } Brandstruct struct { - XMLName xml.Name `xml:"brand"` - BrandName string `xml:"brandname"` - Series Seriesstruct `xml:"series"` - } - - Seriesstruct struct { - XMLName xml.Name `xml:"series"` - Serie []Seriestruct `xml:"serie"` + BrandName string `xml:"name,attr"` + Series []Seriestruct `xml:"serie"` + Pegboards []Pegboardstruct `xml:"pegboard"` + Colors []Colorstruct `xml:"color"` } Seriestruct struct { - XMLName xml.Name `xml:"serie"` - SerieName string `xml:"seriename"` - Weight int `xml:"weightPerThousand"` - Pegboards Pegboardsstruct `xml:"pegboards"` - Beads Beadsstruct `xml:"beads"` - } - - Pegboardsstruct struct { - XMLName xml.Name `xml:"pegboards"` - Pegboard []Pegboardstruct `xml:"pegboard"` + Serie string `xml:"name,attr"` + Weight int `xml:"weightPerThousand"` } Pegboardstruct struct { - XMLName xml.Name `xml:"pegboard"` - Type string `xml:"type"` - Width string `xml:"width"` - Height string `xml:"height"` - } - - Beadsstruct struct { - XMLName xml.Name `xml:"beads"` - Color []Colorstruct `xml:"color"` + Serie string `xml:"serie,attr"` + Type string `xml:"type"` + Size string `xml:"size"` } Colorstruct struct { - XMLName xml.Name `xml:"color"` - ColorIndex int `xml:"colorIndex,attr"` - ColorName string `xml:"colorname"` - ProductCode string `xml:"productCode"` - Brand string `xml:"brand"` - Red byte `xml:"red"` - Green byte `xml:"green"` - Blue byte `xml:"blue"` - IsPearl bool `xml:"isPearl"` - IsTranslucent bool `xml:"isTranslucent"` - IsNeutral bool `xml:"isNeutral"` - IsGrayscale bool `xml:"isGrayscale"` - Disabled bool `xml:"disabled"` - InStock bool `xml:"inStock"` - OnHand int `xml:"onHand"` + Series struct { + XMLName xml.Name `xml:"series"` + Serie []string `xml:"serie"` + } + ColorIndex int `xml:"colorIndex,attr"` + ColorName string `xml:"colorname"` + ProductCode string `xml:"productCode"` + Brand string `xml:"brand"` + Red byte `xml:"red"` + Green byte `xml:"green"` + Blue byte `xml:"blue"` + IsPearl bool `xml:"isPearl"` + IsTranslucent bool `xml:"isTranslucent"` + IsNeutral bool `xml:"isNeutral"` + IsGrayscale bool `xml:"isGrayscale"` + Disabled bool `xml:"disabled"` + InStock bool `xml:"inStock"` + OnHand int `xml:"onHand"` } ) +var ( + serie_triggered bool = false +) + func CreatePalletteGroup(mw *MyMainWindow) *walk.GroupBox { mw.leftPanel, _ = walk.NewComposite(mw.content) vb := walk.NewVBoxLayout() @@ -102,6 +86,13 @@ func CreatePalletteGroup(mw *MyMainWindow) *walk.GroupBox { mw.serie_combo, _ = walk.NewComboBox(comp) mw.serie_combo.SetModel(CreateSeriesList(mw)) mw.serie_combo.SetText(ConfigSerie) + mw.serie_combo.CurrentIndexChanged().Attach(func() { + if !serie_triggered { + mw.colors.Children().Clear() + LoadBeads(mw) + serie_triggered = true + } + }) comp, _ = walk.NewComposite(pallette_group) comp.SetLayout(walk.NewHBoxLayout()) comp.Layout().SetMargins(walk.Margins{0, 0, 0, 0}) @@ -115,13 +106,11 @@ func CreatePalletteGroup(mw *MyMainWindow) *walk.GroupBox { func CreatePegboardsList(mw *MyMainWindow) []string { pegboards := make([]string, 0) - for _, brand := range mw.pallette.Brands.Brand { + for _, brand := range mw.pallette.Brand { if brand.BrandName == mw.brand_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) - } + for _, pegboard := range brand.Pegboards { + if pegboard.Serie == mw.serie_combo.Text() { + pegboards = append(pegboards, pegboard.Type) } } } @@ -131,10 +120,10 @@ func CreatePegboardsList(mw *MyMainWindow) []string { func CreateSeriesList(mw *MyMainWindow) []string { series := make([]string, 0) - for _, brand := range mw.pallette.Brands.Brand { + for _, brand := range mw.pallette.Brand { if brand.BrandName == mw.brand_combo.Text() { - for _, serie := range brand.Series.Serie { - series = append(series, serie.SerieName) + for _, serie := range brand.Series { + series = append(series, serie.Serie) } } } @@ -143,7 +132,7 @@ func CreateSeriesList(mw *MyMainWindow) []string { func CreateBrandsList(mw *MyMainWindow) []string { brands := make([]string, 0) - for _, brand := range mw.pallette.Brands.Brand { + for _, brand := range mw.pallette.Brand { brands = append(brands, brand.BrandName) } return brands diff --git a/pallettes/pallette.xml b/pallettes/pallette.xml index 1abc7e4..a2fff13 100644 --- a/pallettes/pallette.xml +++ b/pallettes/pallette.xml @@ -1,1136 +1,1448 @@ - Pallette - - Brands - - Hama + + + // Weight is per 1000 beads in grams + 20 + + + // Weight is per 1000 beads in grams + 60 + + + // Weight is per 1000 beads in grams + 100 + + + Square 57x57 + 57 + + + Square 28x28 + 28 + + + Round 29 + 29 + + + Square 29x29 + 29 + + + Square 14x14 + 14 + + + Square 16x16 + 16 + + + Round 15 + 15 + + - - Mini - - - Midi - // Weight is per 1000 beads in grams - 60 - - - Large 29x29 - 29 - 29 - - - Small 14x14 - 14 - 14 - - - - - White - H01 - Hama - 229 - 236 - 241 - false - false - true - false - false - true - 100 - - - Creme - H02 - Hama - 228 - 228 - 197 - false - false - true - false - false - true - 100 - - - Yellow - H03 - Hama - 233 - 199 - 4 - false - false - true - false - false - true - 100 - - - Orange - H04 - Hama - 209 - 72 - 3 - false - false - true - false - false - true - 100 - - - Red - H05 - Hama - 180 - 6 - 14 - false - false - true - false - false - true - 100 - - - Pink - H06 - Hama - 234 - 138 - 165 - false - false - true - false - false - true - 100 - - - Purple - H07 - Hama - 113 - 34 - 151 - false - false - true - false - false - true - 100 - - - Blue - H08 - Hama - 2 - 57 - 163 - false - false - true - false - false - true - 100 - - - Light blue - H09 - Hama - 2 - 91 - 195 - false - false - true - false - false - true - 100 - - - Green - H10 - Hama - 2 - 118 - 67 - false - false - true - false - false - true - 100 - - - Light green - H11 - Hama - 25 - 205 - 167 - false - false - true - false - false - true - 100 - - - Brown - H12 - Hama - 62 - 39 - 26 - false - false - true - false - false - true - 100 - - - Translucent red - H13 - Hama - 192 - 36 - 53 - false - true - false - false - false - true - 100 - - - Translucent yellow - H14 - Hama - 228 - 170 - 50 - false - true - false - false - false - true - 100 - - - Translucent blue - H15 - Hama - 72 - 126 - 213 - false - true - false - false - false - true - 100 - - - Translucent green - H16 - Hama - 55 - 184 - 118 - false - true - false - false - false - true - 100 - - - Grey - H17 - Hama - 131 - 143 - 152 - false - false - true - true - false - true - 100 - - - Black - H18 - Hama - 20 - 19 - 21 - false - false - true - true - false - true - 100 - - - Clear - H19 - Hama - 216 - 210 - 206 - false - true - false - false - false - true - 100 - - - Red brown - H20 - Hama - 141 - 42 - 15 - false - false - true - false - false - true - 100 - - - Light brown - H21 - Hama - 190 - 108 - 33 - false - false - true - false - false - true - 100 - - - Dark red - H22 - Hama - 145 - 2 - 10 - false - false - true - false - false - true - 100 - - - Translucent purple - H24 - Hama - 104 - 62 - 154 - false - true - false - false - false - true - 100 - - - Translucent brown - H25 - Hama - 135 - 89 - 61 - false - true - false - false - false - true - 100 - - - Flesh - H26 - Hama - 232 - 164 - 152 - false - false - true - false - false - true - 100 - - - Beige - H27 - Hama - 220 - 177 - 142 - false - false - true - false - false - true - 100 - - - Dark green - H28 - Hama - 30 - 44 - 28 - false - false - true - false - false - true - 100 - - - Rapsberry - H29 - Hama - 191 - 1 - 66 - false - false - true - false - false - true - 100 - - - Burgrundy - H30 - Hama - 78 - 12 - 27 - false - false - true - false - false - true - 100 - - - Turquoise - H31 - Hama - 72 - 154 - 185 - false - false - true - false - false - true - 100 - - - Neon Fuchsia - H32 - Hama - 255 - 32 - 141 - false - false - true - false - false - true - 100 - - - Fluorescent cerise - H33 - Hama - 255 - 57 - 86 - false - false - false - false - false - true - 100 - - - Neon yellow - H34 - Hama - 229 - 239 - 19 - false - false - false - false - false - true - 100 - - - Neon red - H35 - Hama - 255 - 40 - 51 - false - false - false - false - false - true - 100 - - - Neon blue - H36 - Hama - 35 - 83 - 176 - false - false - false - false - false - true - 100 - - - Neon green - H37 - Hama - 6 - 183 - 60 - false - false - false - false - false - true - 100 - - - Neon orange - H38 - Hama - 253 - 134 - 0 - false - false - false - false - false - true - 100 - - - Fluorescent yellow - H39 - Hama - 241 - 242 - 28 - false - false - false - false - false - true - 100 - - - Fluorescent orange - H40 - Hama - 254 - 99 - 11 - false - false - false - false - false - true - 100 - - - Fluroescent blue - H41 - Hama - 38 - 89 - 178 - false - false - false - false - false - true - 100 - - - Flourecent green - H42 - Hama - 12 - 189 - 81 - false - false - false - false - false - true - 100 - - - Pastel yellow - H43 - Hama - 231 - 228 - 90 - false - false - true - false - false - true - 100 - - - Pastel coral - H44 - Hama - 249 - 97 - 96 - false - false - true - false - false - true - 100 - - - Pastel purple - H45 - Hama - 142 - 105 - 205 - false - false - true - false - false - true - 100 - - - Pastel blue - H46 - Hama - 81 - 174 - 228 - false - false - true - false - false - true - 100 - - - pastel green - H47 - Hama - 128 - 223 - 150 - false - false - true - false - false - true - 100 - - - pastel pink - H48 - Hama - 214 - 122 - 209 - false - false - true - false - false - true - 100 - - - Azure - H49 - Hama - 15 - 172 - 209 - false - false - true - false - false - true - 100 - - - Flourecent green - H55 - Hama - 250 - 248 - 237 - false - false - false - false - false - true - 500 - - - Flourecent red - H56 - Hama - 237 - 191 - 159 - false - false - false - false - false - true - 500 - - - Flourecent blue - H57 - Hama - 196 - 208 - 227 - false - false - false - false - false - true - 500 - - - Teddybear brown - H60 - Hama - 240 - 152 - 30 - false - false - true - false - false - true - 100 - - - Gold - H61 - Hama - 217 - 147 - 80 - false - false - false - false - false - true - 100 - - - Silver - H62 - Hama - 72 - 71 - 74 - false - false - false - false - false - true - 500 - - - Bronze - H63 - Hama - 66 - 49 - 47 - false - false - false - false - false - true - 100 - - - Pearl - H64 - Hama - 239 - 235 - 228 - true - false - false - false - false - true - 100 - - - Light grey - H70 - Hama - 165 - 179 - 192 - false - false - true - true - false - true - 100 - - - Dark grey - H71 - Hama - 68 - 80 - 89 - false - false - true - true - false - true - 100 - - - Translucent pink - H72 - Hama - 240 - 151 - 176 - false - true - false - false - false - true - 100 - - - Translucent aqua - H73 - Hama - 89 - 174 - 245 - false - true - false - false - false - true - 100 - - - Translucent lilac - H74 - Hama - 91 - 85 - 189 - false - true - false - false - false - true - 100 - - - Tan - H75 - Hama - 183 - 140 - 109 - false - false - true - false - false - true - 100 - - - Nougat - H76 - Hama - 138 - 89 - 55 - false - false - true - false - false - true - 100 - - - Cloudy white - H77 - Hama - 206 - 209 - 200 - false - false - true - false - false - true - 100 - - - Light peach - H78 - Hama - 247 - 193 - 170 - false - false - true - false - false - true - 100 - - - Apricot - H79 - Hama - 248 - 118 - 51 - false - false - true - false - false - true - 100 - - - Plum - H82 - Hama - 145 - 23 - 90 - false - false - true - false - false - true - 100 - - - Petrol Blue - H83 - Hama - 3 - 122 - 159 - false - false - true - false - false - true - 100 - - - Olive - H84 - Hama - 104 - 120 - 54 - false - false - true - false - false - true - 100 - - - Pastel rosa - H95 - Hama - 221 - 155 - 163 - false - false - false - false - false - true - 100 - - - Pastel lilac - H96 - Hama - 180 - 145 - 173 - false - false - false - false - false - true - 100 - - - Pastel ice blue - H97 - Hama - 138 - 175 - 194 - false - false - false - false - false - true - 100 - - - Pastel mint - H98 - Hama - 148 - 204 - 164 - false - false - false - false - false - true - 100 - - - - - Maxi - + Mini + Midi + Maxi - - - Perler - - - + White + H01 + Hama + 229 + 236 + 241 + false + false + true + false + false + true + 100 + + + + Mini + Midi + + Creme + H02 + Hama + 228 + 228 + 197 + false + false + true + false + false + true + 100 + + + + Mini + Midi + Maxi + + Yellow + H03 + Hama + 233 + 199 + 4 + false + false + true + false + false + true + 100 + + + + Mini + Midi + + Orange + H04 + Hama + 209 + 72 + 3 + false + false + true + false + false + true + 100 + + + + Mini + Midi + Maxi + + Red + H05 + Hama + 180 + 6 + 14 + false + false + true + false + false + true + 100 + + + + Mini + Midi + + Pink + H06 + Hama + 234 + 138 + 165 + false + false + true + false + false + true + 100 + + + + Mini + Midi + Maxi + + Purple + H07 + Hama + 113 + 34 + 151 + false + false + true + false + false + true + 100 + + + + Mini + Midi + + Blue + H08 + Hama + 2 + 57 + 163 + false + false + true + false + false + true + 100 + + + + Mini + Midi + Maxi + + Light blue + H09 + Hama + 2 + 91 + 195 + false + false + true + false + false + true + 100 + + + + Mini + Midi + Maxi + + Green + H10 + Hama + 2 + 118 + 67 + false + false + true + false + false + true + 100 + + + + Mini + Midi + + Light green + H11 + Hama + 25 + 205 + 167 + false + false + true + false + false + true + 100 + + + + Mini + Midi + + Brown + H12 + Hama + 62 + 39 + 26 + false + false + true + false + false + true + 100 + + + + Mini + Midi + + Translucent red + H13 + Hama + 192 + 36 + 53 + false + true + false + false + false + true + 100 + + + + Mini + Midi + + Translucent yellow + H14 + Hama + 228 + 170 + 50 + false + true + false + false + false + true + 100 + + + + Mini + Midi + + Translucent blue + H15 + Hama + 72 + 126 + 213 + false + true + false + false + false + true + 100 + + + + Mini + Midi + + Translucent green + H16 + Hama + 55 + 184 + 118 + false + true + false + false + false + true + 100 + + + + Mini + Midi + Maxi + + Grey + H17 + Hama + 131 + 143 + 152 + false + false + true + true + false + true + 100 + + + + Mini + Midi + Maxi + + Black + H18 + Hama + 20 + 19 + 21 + false + false + true + true + false + true + 100 + + + + Mini + Midi + + Clear + H19 + Hama + 216 + 210 + 206 + false + true + false + false + false + true + 100 + + + + Mini + Midi + Maxi + + Red brown + H20 + Hama + 141 + 42 + 15 + false + false + true + false + false + true + 100 + + + + Mini + Midi + + Light brown + H21 + Hama + 190 + 108 + 33 + false + false + true + false + false + true + 100 + + + + Mini + Midi + + Dark red + H22 + Hama + 145 + 2 + 10 + false + false + true + false + false + true + 100 + + + + Mini + Midi + + Translucent purple + H24 + Hama + 104 + 62 + 154 + false + true + false + false + false + true + 100 + + + + Midi + + Translucent brown + H25 + Hama + 135 + 89 + 61 + false + true + false + false + false + true + 100 + + + + Mini + Midi + Maxi + + Flesh + H26 + Hama + 232 + 164 + 152 + false + false + true + false + false + true + 100 + + + + Mini + Midi + + Beige + H27 + Hama + 220 + 177 + 142 + false + false + true + false + false + true + 100 + + + + Mini + Midi + + Dark green + H28 + Hama + 30 + 44 + 28 + false + false + true + false + false + true + 100 + + + + Mini + Midi + + Rapsberry + H29 + Hama + 191 + 1 + 66 + false + false + true + false + false + true + 100 + + + + Mini + Midi + + Burgrundy + H30 + Hama + 78 + 12 + 27 + false + false + true + false + false + true + 100 + + + + Mini + Midi + + Turquoise + H31 + Hama + 72 + 154 + 185 + false + false + true + false + false + true + 100 + + + + Mini + Midi + Maxi + + Neon Fuchsia + H32 + Hama + 255 + 32 + 141 + false + false + true + false + false + true + 100 + + + + Mini + Midi + + Fluorescent cerise + H33 + Hama + 255 + 57 + 86 + false + false + false + false + false + true + 100 + + + + Mini + Midi + Maxi + + Neon yellow + H34 + Hama + 229 + 239 + 19 + false + false + false + false + false + true + 100 + + + + Mini + Midi + Maxi + + Neon red + H35 + Hama + 255 + 40 + 51 + false + false + false + false + false + true + 100 + + + + Mini + Midi + Maxi + + Neon blue + H36 + Hama + 35 + 83 + 176 + false + false + false + false + false + true + 100 + + + + Mini + Midi + Maxi + + Neon green + H37 + Hama + 6 + 183 + 60 + false + false + false + false + false + true + 100 + + + + Mini + Midi + Maxi + + Neon orange + H38 + Hama + 253 + 134 + 0 + false + false + false + false + false + true + 100 + + + + Midi + + Fluorescent yellow + H39 + Hama + 241 + 242 + 28 + false + false + false + false + false + true + 100 + + + + Midi + + Fluorescent orange + H40 + Hama + 254 + 99 + 11 + false + false + false + false + false + true + 100 + + + + Midi + + Fluroescent blue + H41 + Hama + 38 + 89 + 178 + false + false + false + false + false + true + 100 + + + + Mini + Midi + + Flourecent green + H42 + Hama + 12 + 189 + 81 + false + false + false + false + false + true + 100 + + + + Mini + Midi + Maxi + + Pastel yellow + H43 + Hama + 231 + 228 + 90 + false + false + true + false + false + true + 100 + + + + Mini + Midi + Maxi + + Pastel coral + H44 + Hama + 249 + 97 + 96 + false + false + true + false + false + true + 100 + + + + Mini + Midi + Maxi + + Pastel purple + H45 + Hama + 142 + 105 + 205 + false + false + true + false + false + true + 100 + + + + Mini + Midi + Maxi + + Pastel blue + H46 + Hama + 81 + 174 + 228 + false + false + true + false + false + true + 100 + + + + Mini + Midi + Maxi + + pastel green + H47 + Hama + 128 + 223 + 150 + false + false + true + false + false + true + 100 + + + + Mini + Midi + Maxi + + pastel pink + H48 + Hama + 214 + 122 + 209 + false + false + true + false + false + true + 100 + + + + Mini + Midi + + Azure + H49 + Hama + 15 + 172 + 209 + false + false + true + false + false + true + 100 + + + + Midi + + Flourecent green + H55 + Hama + 250 + 248 + 237 + false + false + false + false + false + true + 500 + + + + Midi + + Flourecent red + H56 + Hama + 237 + 191 + 159 + false + false + false + false + false + true + 500 + + + + Midi + + Flourecent blue + H57 + Hama + 196 + 208 + 227 + false + false + false + false + false + true + 500 + + + + Mini + Midi + + Teddybear brown + H60 + Hama + 240 + 152 + 30 + false + false + true + false + false + true + 100 + + + + Midi + + Gold + H61 + Hama + 217 + 147 + 80 + false + false + false + false + false + true + 100 + + + + Midi + + Silver + H62 + Hama + 72 + 71 + 74 + false + false + false + false + false + true + 500 + + + + Midi + + Bronze + H63 + Hama + 66 + 49 + 47 + false + false + false + false + false + true + 100 + + + + Midi + + Pearl + H64 + Hama + 239 + 235 + 228 + true + false + false + false + false + true + 100 + + + + Mini + Midi + Maxi + + Light grey + H70 + Hama + 165 + 179 + 192 + false + false + true + true + false + true + 100 + + + + Mini + Midi + + Dark grey + H71 + Hama + 68 + 80 + 89 + false + false + true + true + false + true + 100 + + + + Mini + Midi + + Translucent pink + H72 + Hama + 240 + 151 + 176 + false + true + false + false + false + true + 100 + + + + Mini + Midi + + Translucent aqua + H73 + Hama + 89 + 174 + 245 + false + true + false + false + false + true + 100 + + + + Mini + Midi + + Translucent lilac + H74 + Hama + 91 + 85 + 189 + false + true + false + false + false + true + 100 + + + + Mini + Midi + + Tan + H75 + Hama + 183 + 140 + 109 + false + false + true + false + false + true + 100 + + + + Mini + Midi + + Nougat + H76 + Hama + 138 + 89 + 55 + false + false + true + false + false + true + 100 + + + + Mini + Midi + + Cloudy white + H77 + Hama + 206 + 209 + 200 + false + false + true + false + false + true + 100 + + + + Mini + Midi + + Light peach + H78 + Hama + 247 + 193 + 170 + false + false + true + false + false + true + 100 + + + + Mini + Midi + Maxi + + Apricot + H79 + Hama + 248 + 118 + 51 + false + false + true + false + false + true + 100 + + + + Mini + Midi + + Plum + H82 + Hama + 145 + 23 + 90 + false + false + true + false + false + true + 100 + + + + Mini + Midi + + Petrol Blue + H83 + Hama + 3 + 122 + 159 + false + false + true + false + false + true + 100 + + + + Mini + Midi + + Olive + H84 + Hama + 104 + 120 + 54 + false + false + true + false + false + true + 100 + + + + Mini + Midi + + Pastel rosa + H95 + Hama + 221 + 155 + 163 + false + false + false + false + false + true + 100 + + + + Mini + Midi + + Pastel lilac + H96 + Hama + 180 + 145 + 173 + false + false + false + false + false + true + 100 + + + + Mini + Midi + + Pastel ice blue + H97 + Hama + 138 + 175 + 194 + false + false + false + false + false + true + 100 + + + + Mini + Midi + + Pastel mint + H98 + Hama + 148 + 204 + 164 + false + false + false + false + false + true + 100 + + + + + \ No newline at end of file