summaryrefslogtreecommitdiff
path: root/toolkit/andlabs/button.go
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2023-03-01 11:35:36 -0600
committerJeff Carr <[email protected]>2023-03-01 11:35:36 -0600
commit8dbf5a09097b7868e9218bf98716c57eac998a10 (patch)
treeab3bdfeaf5a59a55de9d2a6661d2d824090491e5 /toolkit/andlabs/button.go
parentf3bb68396afa7452ecf1c8d4744c825a9d81057c (diff)
lots cleaner code between the pluginv0.6.1
Queue() around SetText is helping userspace crashing merge forceDump(bool) into Dump() debugging output configuration is pretty clean keep cutting down duplicate things --gui-verbose flag works make label "standard" code add debug.FreeOSMemory() move the GO language internals to display in the GUI update push to do tags and go to github.com/wit-go/ remove the other license file it might be confusing golang.org and github proper WidgetType added a Quit() button Signed-off-by: Jeff Carr <[email protected]>
Diffstat (limited to 'toolkit/andlabs/button.go')
-rw-r--r--toolkit/andlabs/button.go54
1 files changed, 42 insertions, 12 deletions
diff --git a/toolkit/andlabs/button.go b/toolkit/andlabs/button.go
index 9933e1f..deb34fa 100644
--- a/toolkit/andlabs/button.go
+++ b/toolkit/andlabs/button.go
@@ -7,7 +7,7 @@ import (
"git.wit.org/wit/gui/toolkit"
)
-func NewButton(parentW *toolkit.Widget, w *toolkit.Widget) {
+func newButton(parentW *toolkit.Widget, w *toolkit.Widget) {
var t, newt *andlabsT
var b *ui.Button
log(debugToolkit, "gui.andlabs.NewButton()", w.Name)
@@ -25,19 +25,11 @@ func NewButton(parentW *toolkit.Widget, w *toolkit.Widget) {
b = ui.NewButton(w.Name)
newt.uiButton = b
+ newt.tw = w
+ newt.parent = t
b.OnClicked(func(*ui.Button) {
- log(debugChange, "TODO: SHOULD LEAVE Button click HERE VIA channels. button name =", w.Name)
- log(debugChange, "FOUND WIDGET =", w)
- if (w.Custom == nil) {
- log(debugChange, "WIDGET DOES NOT have Custom()")
- log(debugChange, "TODO: NOTHING TO DO button name =", w.Name)
- return
- }
- // t.Dump()
- // newt.Dump()
- log(debugChange, "Running w.Custom()")
- w.Custom()
+ newt.commonChange(newt.tw)
})
log(debugToolkit, "gui.Toolbox.NewButton() about to append to Box parent t:", w.Name)
@@ -55,3 +47,41 @@ func NewButton(parentW *toolkit.Widget, w *toolkit.Widget) {
mapWidgetsToolkits(w, newt)
}
+
+func doButton(p *toolkit.Widget, c *toolkit.Widget) {
+ if broken(c) {
+ return
+ }
+ if (c.Action == "New") {
+ newButton(p, c)
+ return
+ }
+ ct := mapToolkits[c]
+ if (ct == nil) {
+ log(true, "Trying to do something on a widget that doesn't work or doesn't exist or something", c)
+ return
+ }
+ if ct.broken() {
+ log(true, "Button() ct.broken", ct)
+ return
+ }
+ if (ct.uiButton == nil) {
+ log(true, "Button() uiButton == nil", ct)
+ return
+ }
+ log(true, "Going to attempt:", c.Action)
+ switch c.Action {
+ case "Enable":
+ ct.uiButton.Enable()
+ case "Disable":
+ ct.uiButton.Disable()
+ case "Show":
+ ct.uiButton.Show()
+ case "Hide":
+ ct.uiButton.Hide()
+ case "Set":
+ ct.uiButton.SetText(c.S)
+ default:
+ log(true, "Can't do", c.Action, "to a Button")
+ }
+}