diff --git a/entry.go b/entry.go index 423292f..83e4ec3 100644 --- a/entry.go +++ b/entry.go @@ -101,3 +101,45 @@ func AddEntry(box *GuiBox, name string) *GuiEntry { return ge } + +func defaultEntryChange(e *ui.Entry) { + for key, em := range Data.AllEntries { + if (Data.Debug) { + log.Println("\tdefaultEntryChange() Data.AllEntries =", key, em) + } + if Data.AllEntries[key].UiEntry == e { + log.Println("defaultEntryChange() FOUND", + "action =", Data.AllEntries[key].Action, + "Last =", Data.AllEntries[key].Last, + "e.Text() =", e.Text()) + Data.AllEntries[key].Last = e.Text() + if Data.AllEntries[key].Normalize != nil { + fixed := Data.AllEntries[key].Normalize(e.Text()) + e.SetText(fixed) + } + return + } + } + log.Println("defaultEntryChange() ERROR. MISSING ENTRY MAP. e.Text() =", e.Text()) +} + +func defaultMakeEntry(startValue string, edit bool, action string) *GuiEntry { + e := ui.NewEntry() + e.SetText(startValue) + if (edit == false) { + e.SetReadOnly(true) + } + e.OnChanged(defaultEntryChange) + + // add the entry field to the global map + var newEntry GuiEntry + newEntry.UiEntry = e + newEntry.Edit = edit + newEntry.Action = action + if (action == "Memory") { + newEntry.Normalize = normalizeInt + } + Data.AllEntries = append(Data.AllEntries, &newEntry) + + return &newEntry +} diff --git a/misc.go b/gui.go similarity index 99% rename from misc.go rename to gui.go index 3e9ec2d..b412e20 100644 --- a/misc.go +++ b/gui.go @@ -128,6 +128,7 @@ func normalizeInt(s string) string { return clean } +/* func defaultEntryChange(e *ui.Entry) { for key, em := range Data.AllEntries { if (Data.Debug) { @@ -169,6 +170,7 @@ func defaultMakeEntry(startValue string, edit bool, action string) *GuiEntry { return &newEntry } +*/ func MessageWindow(gw *GuiWindow, msg1 string, msg2 string) { ui.MsgBox(gw.UiWindow, msg1, msg2)