0.3.9 Beads add working. /JL
This commit is contained in:
@@ -139,8 +139,20 @@ func NewBeadColor(mw *MyMainWindow, name string, id int, red byte, green byte, b
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
val := mw.addBeads(name, data, color.ColorID, color.backgroundColor, ret)
|
val := mw.addBeads(name, data, color.ColorID, color.backgroundColor, ret)
|
||||||
|
log.Println("Color ID: ", color.ColorID)
|
||||||
if val == 1 {
|
if val == 1 {
|
||||||
log.Println("Accepted")
|
for _, b := range mw.beads {
|
||||||
|
log.Println("Bead Color ID: ", b.ColorID)
|
||||||
|
if b.ColorID == color.ColorID {
|
||||||
|
for _, s := range b.Series {
|
||||||
|
if s.Name == mw.serie_combo.Text() {
|
||||||
|
s.onHand += ret.Number
|
||||||
|
log.Println("Added ", ret.Number, " beads of ", name, " to ", mw.serie_combo.Text(), " (", s.onHand, " on hand)")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
ShowBeads(mw, mw.serie_combo.Text())
|
||||||
} else if val == 2 {
|
} else if val == 2 {
|
||||||
log.Println("Canceled")
|
log.Println("Canceled")
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -3,12 +3,28 @@ package main
|
|||||||
import (
|
import (
|
||||||
"log"
|
"log"
|
||||||
"strconv"
|
"strconv"
|
||||||
|
"time"
|
||||||
|
|
||||||
"github.com/lxn/walk"
|
"github.com/lxn/walk"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func delay(edit *walk.NumberEdit, val string, ret *Retval) {
|
||||||
|
delay := time.NewTimer(time.Second * 1)
|
||||||
|
|
||||||
|
<-delay.C
|
||||||
|
switch val {
|
||||||
|
case "grams":
|
||||||
|
edit.SetValue(float64(ret.Grams))
|
||||||
|
case "number":
|
||||||
|
edit.SetValue(float64(ret.Number))
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
func (mv *MyMainWindow) addBeads(name string, data Serie, id int, bg walk.Brush, ret *Retval) int {
|
func (mv *MyMainWindow) addBeads(name string, data Serie, id int, bg walk.Brush, ret *Retval) int {
|
||||||
log.Println("Adding beads...")
|
var (
|
||||||
|
grams_edit *walk.NumberEdit
|
||||||
|
number_edit *walk.NumberEdit
|
||||||
|
)
|
||||||
dlg, err := walk.NewDialog(mv.MainWindow)
|
dlg, err := walk.NewDialog(mv.MainWindow)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
log.Println(err)
|
log.Println(err)
|
||||||
@@ -40,18 +56,44 @@ func (mv *MyMainWindow) addBeads(name string, data Serie, id int, bg walk.Brush,
|
|||||||
lbl.SetText("Grams:")
|
lbl.SetText("Grams:")
|
||||||
lbl.SetAlignment(walk.AlignHCenterVNear)
|
lbl.SetAlignment(walk.AlignHCenterVNear)
|
||||||
walk.NewHSpacer(bgr)
|
walk.NewHSpacer(bgr)
|
||||||
le, _ := walk.NewNumberEdit(bgr)
|
grams_edit, _ = walk.NewNumberEdit(bgr)
|
||||||
le.SetDecimals(0)
|
grams_edit.SetMinMaxSize(walk.Size{Width: 50, Height: 0}, walk.Size{Width: 100, Height: 0})
|
||||||
le.SetRange(0, 1000)
|
grams_edit.SetDecimals(0)
|
||||||
|
grams_edit.SetRange(0, 1000)
|
||||||
|
grams_edit.ValueChanged().Attach(func() {
|
||||||
|
ret.Grams = int(grams_edit.Value())
|
||||||
|
switch data.Name {
|
||||||
|
case "Mini":
|
||||||
|
ret.Number = ret.Grams * 1000 / 30
|
||||||
|
case "Midi":
|
||||||
|
ret.Number = ret.Grams * 1000 / 60
|
||||||
|
case "Maxi":
|
||||||
|
ret.Number = ret.Grams * 1000 / 120
|
||||||
|
}
|
||||||
|
go delay(number_edit, "number", ret)
|
||||||
|
})
|
||||||
bnr, _ := walk.NewComposite(fm)
|
bnr, _ := walk.NewComposite(fm)
|
||||||
bnr.SetLayout(walk.NewHBoxLayout())
|
bnr.SetLayout(walk.NewHBoxLayout())
|
||||||
lbl, _ = walk.NewTextLabel(bnr)
|
lbl, _ = walk.NewTextLabel(bnr)
|
||||||
lbl.SetText("Number:")
|
lbl.SetText("Number:")
|
||||||
lbl.SetAlignment(walk.AlignHCenterVNear)
|
lbl.SetAlignment(walk.AlignHCenterVNear)
|
||||||
walk.NewHSpacer(bnr)
|
walk.NewHSpacer(bnr)
|
||||||
ne, _ := walk.NewNumberEdit(bnr)
|
number_edit, _ = walk.NewNumberEdit(bnr)
|
||||||
ne.SetDecimals(0)
|
number_edit.SetMinMaxSize(walk.Size{Width: 50, Height: 0}, walk.Size{Width: 100, Height: 0})
|
||||||
ne.SetRange(0, 100000)
|
number_edit.SetDecimals(0)
|
||||||
|
number_edit.SetRange(0, 100000)
|
||||||
|
number_edit.ValueChanged().Attach(func() {
|
||||||
|
ret.Number = int(number_edit.Value())
|
||||||
|
switch data.Name {
|
||||||
|
case "Mini":
|
||||||
|
ret.Grams = ret.Number * 30 / 1000
|
||||||
|
case "Midi":
|
||||||
|
ret.Grams = ret.Number * 60 / 1000
|
||||||
|
case "Maxi":
|
||||||
|
ret.Grams = ret.Number * 120 / 1000
|
||||||
|
}
|
||||||
|
go delay(grams_edit, "grams", ret)
|
||||||
|
})
|
||||||
bc, _ := walk.NewComposite(dlg)
|
bc, _ := walk.NewComposite(dlg)
|
||||||
bc.SetLayout(walk.NewHBoxLayout())
|
bc.SetLayout(walk.NewHBoxLayout())
|
||||||
bc.Layout().SetMargins(walk.Margins{0, 0, 0, 0})
|
bc.Layout().SetMargins(walk.Margins{0, 0, 0, 0})
|
||||||
@@ -59,8 +101,8 @@ func (mv *MyMainWindow) addBeads(name string, data Serie, id int, bg walk.Brush,
|
|||||||
ab.SetText("Add")
|
ab.SetText("Add")
|
||||||
dlg.SetDefaultButton(ab)
|
dlg.SetDefaultButton(ab)
|
||||||
ab.Clicked().Attach(func() {
|
ab.Clicked().Attach(func() {
|
||||||
ret.Grams = int(le.Value())
|
//ret.Grams = int(grams_edit.Value())
|
||||||
ret.Number = int(ne.Value())
|
//ret.Number = int(number_edit.Value())
|
||||||
log.Println("grams:", ret.Grams)
|
log.Println("grams:", ret.Grams)
|
||||||
log.Println("number:", ret.Number)
|
log.Println("number:", ret.Number)
|
||||||
dlg.Accept()
|
dlg.Accept()
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ type MyMainWindow struct {
|
|||||||
|
|
||||||
const (
|
const (
|
||||||
AppName string = "BeadImager"
|
AppName string = "BeadImager"
|
||||||
Version string = "0.3.8"
|
Version string = "0.3.9"
|
||||||
CopyRight string = "©2022 Jan Lerking"
|
CopyRight string = "©2022 Jan Lerking"
|
||||||
STD_MESS string = "Ready"
|
STD_MESS string = "Ready"
|
||||||
LogFile string = "BeadImager.log"
|
LogFile string = "BeadImager.log"
|
||||||
|
|||||||
Reference in New Issue
Block a user