summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2024-01-19 02:56:10 -0600
committerJeff Carr <[email protected]>2024-01-19 02:56:10 -0600
commitd4891c4d58380a81275d315151c2abc58ca1f291 (patch)
treeac274458682a23dda64d2fd2e12cca00d49e2222
parentb15369d85df247a460f0c0c18ac9578c79ca51a3 (diff)
cleanup andlabs
Signed-off-by: Jeff Carr <[email protected]>
-rw-r--r--checkbox.go13
-rw-r--r--dropdown.go8
-rw-r--r--grid.go4
-rw-r--r--main.go6
-rw-r--r--setText.go28
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)
diff --git a/grid.go b/grid.go
index 168973a..64675a5 100644
--- a/grid.go
+++ b/grid.go
@@ -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
diff --git a/main.go b/main.go
index a3471a7..f86dc54 100644
--- a/main.go
+++ b/main.go
@@ -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")
diff --git a/setText.go b/setText.go
index eb09640..611f2c6 100644
--- a/setText.go
+++ b/setText.go
@@ -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