diff options
| author | Jeff Carr <[email protected]> | 2024-01-19 02:56:10 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2024-01-19 02:56:10 -0600 |
| commit | d4891c4d58380a81275d315151c2abc58ca1f291 (patch) | |
| tree | ac274458682a23dda64d2fd2e12cca00d49e2222 | |
| parent | b15369d85df247a460f0c0c18ac9578c79ca51a3 (diff) | |
cleanup andlabs
Signed-off-by: Jeff Carr <[email protected]>
| -rw-r--r-- | checkbox.go | 13 | ||||
| -rw-r--r-- | dropdown.go | 8 | ||||
| -rw-r--r-- | grid.go | 4 | ||||
| -rw-r--r-- | main.go | 6 | ||||
| -rw-r--r-- | setText.go | 28 |
5 files changed, 47 insertions, 12 deletions
diff --git a/checkbox.go b/checkbox.go index 7771c69..9760032 100644 --- a/checkbox.go +++ b/checkbox.go @@ -1,16 +1,23 @@ package gui -import "go.wit.com/widget" +import ( + "go.wit.com/log" + "go.wit.com/widget" +) func (n *Node) Checked() bool { return widget.GetBool(n.value) } -func (n *Node) NewCheckbox(name string) *Node { - newNode := n.newNode(name, widget.Checkbox) +func (parent *Node) NewCheckbox(name string) *Node { + newNode := parent.newNode(name, widget.Checkbox) newNode.label = name newNode.progname = name + newNode.Custom = func() { + log.Warn("checkboxy now is", newNode.value) + } + // inform the toolkits sendAction(newNode, widget.Add) return newNode diff --git a/dropdown.go b/dropdown.go index 1103288..e7ee980 100644 --- a/dropdown.go +++ b/dropdown.go @@ -25,16 +25,16 @@ func (n *Node) SetDropdownName(name string) { } */ -func (n *Node) NewDropdown() *Node { - newNode := n.newNode("dropdown", widget.Dropdown) +func (parent *Node) NewDropdown() *Node { + newNode := parent.newNode("dropdown", widget.Dropdown) // inform the toolkits sendAction(newNode, widget.Add) return newNode } -func (n *Node) NewCombobox() *Node { - newNode := n.newNode("combobox", widget.Combobox) +func (parent *Node) NewCombobox() *Node { + newNode := parent.newNode("combobox", widget.Combobox) // inform the toolkits sendAction(newNode, widget.Add) @@ -33,8 +33,8 @@ type GridOffset struct { Y int } -func (n *Node) NewGrid(progname string, w int, h int) *Node { - newNode := n.newNode(progname, widget.Grid) +func (parent *Node) NewGrid(progname string, w int, h int) *Node { + newNode := parent.newNode(progname, widget.Grid) newNode.progname = progname newNode.W = w @@ -67,7 +67,7 @@ func watchCallback() { n := me.rootNode.findId(a.WidgetId) if n != nil { log.Verbose("guiChan() FOUND widget id =", n.id, n.progname) - n.goUserEvent(a) + n.gotUserEvent(a) break } @@ -132,8 +132,8 @@ func watchCallback() { // hopefully everything is designed smart enough // that it doesn't matter what happens outside of here // TODO: implement throttling someday -func (n *Node) goUserEvent(a widget.Action) { - log.Info("goUserEvent() node =", n.id, n.progname) +func (n *Node) gotUserEvent(a widget.Action) { + log.Info("gotUserEvent() received event node =", n.id, n.progname, a.Value) n.value = a.Value if n.Custom == nil { log.Info("a Custom() function was not set for this widget") @@ -9,6 +9,34 @@ import ( "go.wit.com/widget" ) +// This will set the visable name for widgets that +// have text displayed that is not editable by the user +// For example, a button, window, group, checkbox +func (n *Node) SetLabel(label string) *Node { + switch n.WidgetType { + case widget.Checkbox: + n.label = label + case widget.Button: + n.label = label + case widget.Label: + n.label = label + case widget.Group: + n.label = label + case widget.Window: + n.label = label + default: + } + + n.changed = true + log.Log(CHANGE, "SetLabel() value =", label) + + // inform the toolkits + sendAction(n, widget.SetText) + return n +} + +// What "SetText" means depends on the type of widget +// should this be a different name? func (n *Node) SetText(text string) *Node { if !n.Ready() { return n |
