summaryrefslogtreecommitdiff
path: root/setText.go
diff options
context:
space:
mode:
Diffstat (limited to 'setText.go')
-rw-r--r--setText.go48
1 files changed, 48 insertions, 0 deletions
diff --git a/setText.go b/setText.go
new file mode 100644
index 0000000..5e04d70
--- /dev/null
+++ b/setText.go
@@ -0,0 +1,48 @@
+package gui
+
+// Common actions for widgets like 'Enable' or 'Hide'
+
+import (
+ "errors"
+
+ "go.wit.com/log"
+ "go.wit.com/gui/widget"
+)
+
+func (n *Node) SetText(text string) *Node {
+ if ! n.Ready() { return n }
+ log.Log(CHANGE, "SetText() value =", text)
+
+ n.value = text
+
+ if ! n.hidden {
+ a := newAction(n, widget.SetText)
+ a.A = n.value
+ sendAction(a)
+ }
+ return n
+}
+
+func (n *Node) Set(val any) {
+ log.Log(CHANGE, "Set() value =", val)
+
+ n.value = val
+
+ switch v := val.(type) {
+ case bool:
+ n.B = val.(bool)
+ case string:
+ n.Text = val.(string)
+ n.S = val.(string)
+ case int:
+ n.I = val.(int)
+ default:
+ log.Error(errors.New("Set() unknown type"), "v =", v)
+ }
+
+ if ! n.hidden {
+ a := newAction(n, widget.Set)
+ a.A = val
+ sendAction(a)
+ }
+}