0.3.8 Cleanup logfile. /JL

This commit is contained in:
2022-12-22 10:32:21 +01:00
parent a13e897af4
commit e48b00d651
6 changed files with 267 additions and 265 deletions

Binary file not shown.

View File

@@ -13,18 +13,33 @@ type (
)
func CreateCanvasGroup(mw *MyMainWindow) {
log.Println("Creating canvas group...")
cg, _ := walk.NewGroupBox(mw.content)
cg.SetTitle("Canvas")
cg.SetAlignment(walk.AlignHNearVNear)
cg.SetLayout(walk.NewVBoxLayout())
log.Println("Creating canvas...")
mw.canvasScroll, _ = walk.NewScrollView(cg)
cg, err := walk.NewGroupBox(mw.content)
if err != nil {
log.Println("Error creating canvas group: ", err)
}
err = cg.SetTitle("Canvas")
if err != nil {
log.Println("Error setting canvas group title: ", err)
}
err = cg.SetAlignment(walk.AlignHNearVNear)
if err != nil {
log.Println("Error setting canvas group alignment: ", err)
}
err = cg.SetLayout(walk.NewVBoxLayout())
if err != nil {
log.Println("Error setting canvas group layout: ", err)
}
mw.canvasScroll, err = walk.NewScrollView(cg)
if err != nil {
log.Println("Error creating canvas scroll: ", err)
}
vb := walk.NewVBoxLayout()
mw.canvasScroll.SetLayout(vb)
mw.canvasScroll.SetAlignment(walk.AlignHNearVNear)
//vb.SetMargins(walk.Margins{0, 0, 0, 0})
//dw, _ := walk.NewCustomWidgetPixels(mw.canvasScroll, 0, mw.drawStuff)
//dw.SetClearsBackground(true)
//dw.SetInvalidatesOnResize(true)
err = mw.canvasScroll.SetLayout(vb)
if err != nil {
log.Println("Error setting canvas scroll layout: ", err)
}
err = mw.canvasScroll.SetAlignment(walk.AlignHNearVNear)
if err != nil {
log.Println("Error setting canvas scroll alignment: ", err)
}
}

View File

@@ -40,7 +40,6 @@ type (
)
func ShowBeads(mw *MyMainWindow, serie string) {
log.Println("Showing beads...")
for _, bead := range mw.beads {
bead.Color.SetVisible(false)
for _, s := range bead.Series {
@@ -80,10 +79,7 @@ func CreateBeadsGroup(mw *MyMainWindow) {
func LoadBeads(mw *MyMainWindow) {
for _, brand := range mw.pallette.Brand {
if brand.BrandName == mw.brand_combo.Text() {
log.Println("Loading beads for brand: " + brand.BrandName + " ...")
log.Println("Loading beads for serie: " + mw.serie_combo.Text() + " ...")
for _, bead := range brand.Colors {
log.Println("Loading bead: " + bead.ColorName + " ...")
if !bead.Disabled {
bc := NewBeadColor(mw, bead.ColorName, bead.ColorIndex, bead.Red, bead.Green, bead.Blue)
for _, s := range bead.Series.Serie {
@@ -108,7 +104,6 @@ func LoadBeads(mw *MyMainWindow) {
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)
cm.SetAlignment(walk.AlignHNearVCenter)
hb := walk.NewHBoxLayout()
@@ -116,17 +111,15 @@ func NewBeadColor(mw *MyMainWindow, name string, id int, red byte, green byte, b
cm.SetLayout(hb)
color := new(BeadColor)
color.Color = cm
log.Println("Bead color struct: ", color)
color.SetBackgroundColor(walk.RGB(red, green, blue))
log.Println("Creating checkbox")
color.Checkbox, err = walk.NewCheckBox(cm)
if err != nil {
log.Panic(err)
}
log.Println("Checkbox created")
log.Println("Setting checkbox name")
color.Checkbox.SetText(name)
log.Println("Checkbox name set")
err = color.Checkbox.SetText(name)
if err != nil {
log.Panic(err)
}
walk.NewHSpacer(cm)
color.add, err = walk.NewImageView(cm)
if err != nil {
@@ -146,7 +139,13 @@ func NewBeadColor(mw *MyMainWindow, name string, id int, red byte, green byte, b
}
}
val := mw.addBeads(name, data, color.ColorID, color.backgroundColor, ret)
log.Println("Returned value: ", val)
if val == 1 {
log.Println("Accepted")
} else if val == 2 {
log.Println("Canceled")
} else {
log.Println("Returned value: ", val)
}
}
})
color.info, err = walk.NewImageView(cm)

157
main.go
View File

@@ -30,7 +30,7 @@ type MyMainWindow struct {
const (
AppName string = "BeadImager"
Version string = "0.3.7"
Version string = "0.3.8"
CopyRight string = "©2022 Jan Lerking"
STD_MESS string = "Ready"
LogFile string = "BeadImager.log"
@@ -92,167 +92,12 @@ func main() {
SetupMainWindow(mw)
log.Println("MainWindow created")
CreatePallette(mw)
log.Println("Pallette created: ", mw.pallette)
mw.brand_model = CreateBrandsList(mw)
CreatePalletteGroup(mw)
CreateBeadsGroup(mw)
CreateCanvasGroup(mw)
CreateProperties(mw)
/*
DD_Pallette := GroupBox{
Title: "Pallette",
Layout: VBox{},
Children: []Widget{
Composite{
Layout: HBox{MarginsZero: true},
Children: []Widget{
Label{
Text: "Brand:",
},
ComboBox{
Alignment: AlignHFarVCenter,
AssignTo: &mw.brand_combo,
Model: mw.brand_model,
Value: ConfigBrand,
OnCurrentIndexChanged: func() {
if !brand_trigged {
log.Println("Brand changed to: ", mw.brand_combo.Text())
mw.serie_model = CreateSeriesList(mw)
mw.serie_combo.SetModel(mw.serie_model)
mw.serie_combo.SetEnabled(true)
mw.serie_combo.SetText(ConfigSerie)
}
brand_trigged = true
},
},
},
},
Composite{
Layout: HBox{MarginsZero: true},
Children: []Widget{
Label{
Text: "Serie:",
},
ComboBox{
Alignment: AlignHFarVCenter,
AssignTo: &mw.serie_combo,
Enabled: false,
OnCurrentIndexChanged: func() {
if !serie_trigged {
log.Println("Serie changed to: ", mw.serie_combo.Text())
LoadBeads(mw)
log.Println("Beads loaded: ", mw.beads)
mw.pegboard_model = CreatePegboardsList(mw)
mw.pegboard_combo.SetModel(mw.pegboard_model)
mw.pegboard_combo.SetEnabled(true)
}
serie_trigged = true
},
},
},
},
Composite{
Layout: HBox{MarginsZero: true},
Children: []Widget{
Label{
Text: "Pegboard:",
},
ComboBox{
Alignment: AlignHFarVCenter,
AssignTo: &mw.pegboard_combo,
Enabled: false,
OnCurrentIndexChanged: func() {
if !pegboard_trigged {
log.Println("Pegboard changed to: ", mw.pegboard_combo.Text())
}
pegboard_trigged = true
},
},
},
},
},
}
DD_Beads := GroupBox{
Title: "Beads",
Layout: VBox{},
Children: []Widget{
PushButton{
Text: "Select all colors",
OnClicked: func() {
for _, c := range mw.beads {
c.Checkbox.SetChecked(true)
}
},
},
ScrollView{
AssignTo: &mw.colors,
Layout: VBox{MarginsZero: true},
},
},
}
if _, err := (MainWindow{
AssignTo: &mw.MainWindow,
Title: AppName + " " + Version,
MinSize: Size{800, 600},
OnSizeChanged: func() {
if !settings_trigged {
ShowProperties(mw)
settings_trigged = true
}
},
Layout: VBox{MarginsZero: true},
Children: []Widget{
Composite{
AssignTo: &mw.leftPanel,
Layout: HBox{},
Children: []Widget{
Composite{
Layout: VBox{MarginsZero: true},
MaxSize: Size{280, 0},
Children: []Widget{
DD_Pallette,
DD_Beads,
},
},
GroupBox{
Title: "Canvas",
Layout: VBox{},
Children: []Widget{
ScrollView{
AssignTo: &mw.canvasScroll,
Layout: VBox{MarginsZero: true},
Children: []Widget{
CustomWidget{
AssignTo: &mw.drawWidget,
ClearsBackground: true,
InvalidatesOnResize: true,
Paint: mw.drawStuff,
},
},
},
},
},
GroupBox{
Title: "Settings",
Layout: VBox{},
MaxSize: Size{220, 0},
Children: []Widget{
ScrollView{
AssignTo: &mw.propScroll,
Layout: VBox{MarginsZero: true},
},
},
},
},
},
},
}.Run()); err != nil {
log.Fatal(err)
}
*/
mw.MainWindow.Show()
mw.MainWindow.Run()
}

View File

@@ -174,7 +174,7 @@ func CreatePegboardsList(mw *MyMainWindow) {
mw.Pegboards.Boards = append(mw.Pegboards.Boards, *pb)
}
}
log.Println("Pegboard: ", mw.Pegboards)
//log.Println("Pegboard: ", mw.Pegboards)
}
func CreateSeriesList(mw *MyMainWindow) []string {

View File

@@ -39,110 +39,230 @@ func CreateProperties(mw *MyMainWindow) {
}
func CreateSettingsGroup(mw *MyMainWindow) {
log.Println("Setting up settings...")
mw.rightPanel, _ = walk.NewComposite(mw.content)
var err error
//log.Println("Setting up settings...")
mw.rightPanel, err = walk.NewComposite(mw.content)
if err != nil {
log.Println("Error creating right panel: ", err)
}
vb := walk.NewVBoxLayout()
mw.rightPanel.SetLayout(vb)
vb.SetMargins(walk.Margins{0, 0, 0, 0})
err = mw.rightPanel.SetLayout(vb)
if err != nil {
log.Println("Error setting right panel layout: ", err)
}
err = vb.SetMargins(walk.Margins{0, 0, 0, 0})
if err != nil {
log.Println("Error setting right panel margins: ", err)
}
mw.rightPanel.SetMinMaxSize(walk.Size{Width: 220, Height: 0}, walk.Size{Width: 220, Height: 0})
sg, _ := walk.NewGroupBox(mw.rightPanel)
sg.SetTitle("Settings")
sg.SetAlignment(walk.AlignHNearVNear)
sg, err := walk.NewGroupBox(mw.rightPanel)
if err != nil {
log.Println("Error creating settings group: ", err)
}
err = sg.SetTitle("Settings")
if err != nil {
log.Println("Error setting settings group title: ", err)
}
err = sg.SetAlignment(walk.AlignHNearVNear)
if err != nil {
log.Println("Error setting settings group alignment: ", err)
}
vb = walk.NewVBoxLayout()
sg.SetLayout(vb)
mw.propScroll, _ = walk.NewScrollView(sg)
err = sg.SetLayout(vb)
if err != nil {
log.Println("Error setting settings group layout: ", err)
}
mw.propScroll, err = walk.NewScrollView(sg)
if err != nil {
log.Println("Error creating property scroll: ", err)
}
vb = walk.NewVBoxLayout()
mw.propScroll.SetLayout(vb)
vb.SetMargins(walk.Margins{0, 0, 0, 0})
err = mw.propScroll.SetLayout(vb)
if err != nil {
log.Println("Error setting property scroll layout: ", err)
}
err = vb.SetMargins(walk.Margins{0, 0, 0, 0})
if err != nil {
log.Println("Error setting property scroll margins: ", err)
}
CreateColorProperties(mw)
CreateScaleProperties(mw)
CreateCanvasProperties(mw)
}
func CreateColorProperties(mw *MyMainWindow) {
log.Println("Creating color properties...")
mw.properties.propColor.property, _ = walk.NewComposite(mw.propScroll)
mw.properties.propColor.property.SetAlignment(walk.AlignHNearVNear)
var err error
//log.Println("Creating color properties...")
mw.properties.propColor.property, err = walk.NewComposite(mw.propScroll)
if err != nil {
log.Println("Error creating color property: ", err)
}
err = mw.properties.propColor.property.SetAlignment(walk.AlignHNearVNear)
if err != nil {
log.Println("Error setting color property alignment: ", err)
}
vb := walk.NewVBoxLayout()
//vb.SetMargins(walk.Margins{5, 0, 5, 0})
mw.properties.propColor.property.SetLayout(vb)
log.Println("Creating color label...")
lbl, _ := walk.NewTextLabel(mw.properties.propColor.property)
log.Println("Setting color label text...")
lbl.SetText("Color: ")
log.Println("Creating color background brush...")
bg, _ := walk.NewSolidColorBrush(walk.RGB(167, 45, 234))
log.Println("Setting color background...")
err = mw.properties.propColor.property.SetLayout(vb)
if err != nil {
log.Println("Error setting color property layout: ", err)
}
lbl, err := walk.NewTextLabel(mw.properties.propColor.property)
if err != nil {
log.Println("Error creating color label: ", err)
}
err = lbl.SetText("Color: ")
if err != nil {
log.Println("Error setting color label text: ", err)
}
bg, err := walk.NewSolidColorBrush(walk.RGB(167, 45, 234))
if err != nil {
log.Println("Error creating color brush: ", err)
}
mw.properties.propColor.property.SetBackground(bg)
}
func CreateScaleProperties(mw *MyMainWindow) {
log.Println("Creating scale properties...")
mw.properties.propScale.property, _ = walk.NewComposite(mw.propScroll)
mw.properties.propScale.property.SetAlignment(walk.AlignHNearVNear)
var err error
mw.properties.propScale.property, err = walk.NewComposite(mw.propScroll)
if err != nil {
log.Println("Error creating scale property: ", err)
}
err = mw.properties.propScale.property.SetAlignment(walk.AlignHNearVNear)
if err != nil {
log.Println("Error setting scale property alignment: ", err)
}
vb := walk.NewVBoxLayout()
//vb.SetMargins(walk.Margins{5, 0, 5, 0})
mw.properties.propScale.property.SetLayout(vb)
grcom, _ := walk.NewComposite(mw.properties.propScale.property)
grcom.SetAlignment(walk.AlignHNearVNear)
err = mw.properties.propScale.property.SetLayout(vb)
if err != nil {
log.Println("Error setting scale property layout: ", err)
}
grcom, err := walk.NewComposite(mw.properties.propScale.property)
if err != nil {
log.Println("Error creating scale group: ", err)
}
err = grcom.SetAlignment(walk.AlignHNearVNear)
if err != nil {
log.Println("Error setting scale group alignment: ", err)
}
hb := walk.NewVBoxLayout()
hb.SetMargins(walk.Margins{0, 0, 0, 0})
grcom.SetLayout(hb)
log.Println("Creating scale label...")
lbl, _ := walk.NewTextLabel(grcom)
log.Println("Setting scale label text...")
lbl.SetText("Scale:")
log.Println("Creating scale slider...")
slider, _ := walk.NewSlider(grcom)
log.Println("Setting scale slider properties...")
err = hb.SetMargins(walk.Margins{0, 0, 0, 0})
if err != nil {
log.Println("Error setting scale group margins: ", err)
}
err = grcom.SetLayout(hb)
if err != nil {
log.Println("Error setting scale group layout: ", err)
}
lbl, err := walk.NewTextLabel(grcom)
if err != nil {
log.Println("Error creating scale label: ", err)
}
err = lbl.SetText("Scale:")
if err != nil {
log.Println("Error setting scale label text: ", err)
}
slider, err := walk.NewSlider(grcom)
if err != nil {
log.Println("Error creating scale slider: ", err)
}
slider.SetTracking(true)
slider.SetRange(10, 200)
val, _ := strconv.Atoi(ConfigScale)
val, err := strconv.Atoi(ConfigScale)
if err != nil {
log.Println("Error converting scale config value to int: ", err)
}
slider.SetValue(val)
sc, _ := walk.NewNumberEdit(grcom)
sc, err := walk.NewNumberEdit(grcom)
if err != nil {
log.Println("Error creating scale number edit: ", err)
}
slider.ValueChanged().Attach(func() {
log.Println("Scale slider value changed")
nn := float64(slider.Value())
log.Println("Setting scale number edit value to: ", nn)
sc.SetValue(nn)
err = sc.SetValue(nn)
if err != nil {
log.Println("Error setting scale number edit value: ", err)
}
SetConfigScale(fmt.Sprintf("%0.0f", nn))
})
sc.SetDecimals(0)
sc.SetRange(10, 200)
err = sc.SetDecimals(0)
if err != nil {
log.Println("Error setting scale number edit decimals: ", err)
}
err = sc.SetRange(10, 200)
if err != nil {
log.Println("Error setting scale number edit range: ", err)
}
nn := float64(slider.Value())
sc.SetValue(nn)
err = sc.SetValue(nn)
if err != nil {
log.Println("Error setting scale number edit value: ", err)
}
sc.ValueChanged().Attach(func() {
log.Println("Scale number edit value changed")
nn := float64(sc.Value())
log.Println("Setting scale slider value to: ", nn)
slider.SetValue(int(nn))
SetConfigScale(fmt.Sprintf("%0.0f", nn))
})
log.Println("Setting background color...")
bg, _ := walk.NewSolidColorBrush(walk.RGB(255, 255, 255))
bg, err := walk.NewSolidColorBrush(walk.RGB(255, 255, 255))
if err != nil {
log.Println("Error creating scale brush: ", err)
}
mw.properties.propScale.property.SetBackground(bg)
}
func CreateCanvasProperties(mw *MyMainWindow) {
log.Println("Creating canvas properties...")
mw.properties.propCanvas.property, _ = walk.NewComposite(mw.propScroll)
mw.properties.propCanvas.property.SetAlignment(walk.AlignHNearVNear)
var err error
mw.properties.propCanvas.property, err = walk.NewComposite(mw.propScroll)
if err != nil {
log.Println("Error creating canvas property: ", err)
}
err = mw.properties.propCanvas.property.SetAlignment(walk.AlignHNearVNear)
if err != nil {
log.Println("Error setting canvas property alignment: ", err)
}
vb := walk.NewVBoxLayout()
//vb.SetMargins(walk.Margins{5, 0, 5, 0})
mw.properties.propCanvas.property.SetLayout(vb)
log.Println("Creating canvas label...")
lbl, _ := walk.NewTextLabel(mw.properties.propCanvas.property)
log.Println("Setting canvas label text...")
lbl.SetText("Canvas:")
grcom, _ := walk.NewComposite(mw.properties.propCanvas.property)
grcom.SetAlignment(walk.AlignHNearVNear)
err = mw.properties.propCanvas.property.SetLayout(vb)
if err != nil {
log.Println("Error setting canvas property layout: ", err)
}
lbl, err := walk.NewTextLabel(mw.properties.propCanvas.property)
if err != nil {
log.Println("Error creating canvas label: ", err)
}
err = lbl.SetText("Canvas:")
if err != nil {
log.Println("Error setting canvas label text: ", err)
}
grcom, err := walk.NewComposite(mw.properties.propCanvas.property)
if err != nil {
log.Println("Error creating canvas group: ", err)
}
err = grcom.SetAlignment(walk.AlignHNearVNear)
if err != nil {
log.Println("Error setting canvas group alignment: ", err)
}
hb := walk.NewHBoxLayout()
hb.SetMargins(walk.Margins{0, 0, 0, 0})
grcom.SetLayout(hb)
log.Println("Creating grid checkbox")
cb, _ := walk.NewCheckBox(grcom)
cb.SetAlignment(walk.AlignHNearVNear)
cb.SetText("Show grid")
err = hb.SetMargins(walk.Margins{0, 0, 0, 0})
if err != nil {
log.Println("Error setting canvas group margins: ", err)
}
err = grcom.SetLayout(hb)
if err != nil {
log.Println("Error setting canvas group layout: ", err)
}
cb, err := walk.NewCheckBox(grcom)
if err != nil {
log.Println("Error creating canvas checkbox: ", err)
}
err = cb.SetAlignment(walk.AlignHNearVNear)
if err != nil {
log.Println("Error setting canvas checkbox alignment: ", err)
}
err = cb.SetText("Show grid")
if err != nil {
log.Println("Error setting canvas checkbox text: ", err)
}
switch ConfigShowGrid {
case "true":
cb.SetChecked(true)
@@ -157,21 +277,35 @@ func CreateCanvasProperties(mw *MyMainWindow) {
SetConfigShowGrid("true")
}
})
log.Println("Grid checkbox created")
walk.NewHSpacer(grcom)
log.Println("Creating grid color button")
grcolb, _ := walk.NewPushButton(grcom)
cb.SetAlignment(walk.AlignHFarVNear)
grcolb.SetText("Grid color")
grcolb, err := walk.NewPushButton(grcom)
if err != nil {
log.Println("Error creating grid color button: ", err)
}
err = cb.SetAlignment(walk.AlignHFarVNear)
if err != nil {
log.Println("Error setting grid color button alignment: ", err)
}
err = grcolb.SetText("Grid color")
if err != nil {
log.Println("Error setting grid color button text: ", err)
}
grcolb.Clicked().Attach(func() {
log.Println("Grid color button clicked")
mw.openImage()
})
log.Println("Grid color button created")
log.Println("Creating pixels checkbox")
cb, _ = walk.NewCheckBox(mw.properties.propCanvas.property)
cb.SetAlignment(walk.AlignHNearVNear)
cb.SetText("Show pixels as beads")
cb, err = walk.NewCheckBox(mw.properties.propCanvas.property)
if err != nil {
log.Println("Error creating pixels checkbox: ", err)
}
err = cb.SetAlignment(walk.AlignHNearVNear)
if err != nil {
log.Println("Error setting pixels checkbox alignment: ", err)
}
err = cb.SetText("Show pixels as beads")
if err != nil {
log.Println("Error setting pixels checkbox text: ", err)
}
switch ConfigShowBeads {
case "true":
cb.SetChecked(true)
@@ -186,16 +320,25 @@ func CreateCanvasProperties(mw *MyMainWindow) {
SetConfigShowBeads("true")
}
})
log.Println("Pixels checkbox created")
log.Println("Creating canvas background color button")
grcolb, _ = walk.NewPushButton(mw.properties.propCanvas.property)
grcolb.SetAlignment(walk.AlignHFarVNear)
grcolb.SetText("Background color")
grcolb, err = walk.NewPushButton(mw.properties.propCanvas.property)
if err != nil {
log.Println("Error creating background color button: ", err)
}
err = grcolb.SetAlignment(walk.AlignHFarVNear)
if err != nil {
log.Println("Error setting background color button alignment: ", err)
}
err = grcolb.SetText("Background color")
if err != nil {
log.Println("Error setting background color button text: ", err)
}
grcolb.Clicked().Attach(func() {
log.Println("Background color button clicked")
mw.openImage()
})
log.Println("Background color button created")
bg, _ := walk.NewSolidColorBrush(walk.RGB(255, 255, 255))
bg, err := walk.NewSolidColorBrush(walk.RGB(255, 255, 255))
if err != nil {
log.Println("Error creating canvas brush: ", err)
}
mw.properties.propCanvas.property.SetBackground(bg)
}