77 lines
1.8 KiB
Go
77 lines
1.8 KiB
Go
package gui
|
|
|
|
import "log"
|
|
// import "fmt"
|
|
|
|
import "github.com/andlabs/ui"
|
|
import _ "github.com/andlabs/ui/winmanifest"
|
|
// import "github.com/davecgh/go-spew/spew"
|
|
|
|
// functions for handling text entry boxes
|
|
|
|
func (n *Node) NewLabel(text string) *Node {
|
|
// make new node here
|
|
// n.Append(ui.NewLabel(text), false)
|
|
newNode := n.makeNode(text, 333, 334)
|
|
newNode.Dump()
|
|
// panic("node.NewLabel()")
|
|
|
|
n.Append(newNode)
|
|
return newNode
|
|
}
|
|
|
|
func (n *Node) SetText(value string) error {
|
|
log.Println("gui.SetText() value =", value)
|
|
if (n.uiText != nil) {
|
|
n.uiText.SetText(value)
|
|
return nil
|
|
}
|
|
if (n.uiButton != nil) {
|
|
n.uiButton.SetText(value)
|
|
return nil
|
|
}
|
|
return nil
|
|
}
|
|
|
|
func defaultEntryChange(e *ui.Entry) {
|
|
for key, em := range Data.AllEntries {
|
|
if (Config.Debug) {
|
|
log.Println("\tdefaultEntryChange() Data.AllEntries =", key, em)
|
|
}
|
|
if Data.AllEntries[key].UiEntry == e {
|
|
log.Println("defaultEntryChange() FOUND",
|
|
"Name =", Data.AllEntries[key].Name,
|
|
"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.Name = action
|
|
if (action == "INT") {
|
|
newEntry.Normalize = normalizeInt
|
|
}
|
|
Data.AllEntries = append(Data.AllEntries, &newEntry)
|
|
|
|
return &newEntry
|
|
}
|