summaryrefslogtreecommitdiff
path: root/toolkit/andlabs/spinner.go
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/andlabs/spinner.go')
-rw-r--r--toolkit/andlabs/spinner.go49
1 files changed, 48 insertions, 1 deletions
diff --git a/toolkit/andlabs/spinner.go b/toolkit/andlabs/spinner.go
index 2ee556c..2e87541 100644
--- a/toolkit/andlabs/spinner.go
+++ b/toolkit/andlabs/spinner.go
@@ -36,9 +36,56 @@ func newSpinner(parentW *toolkit.Widget, w *toolkit.Widget) {
t := mapToolkits[parentW]
if (t == nil) {
- log(debugToolkit, "go.andlabs.NewTab() toolkit struct == nil. name=", parentW.Name, w.Name)
+ log(debugError, "NewSpinner() toolkit struct == nil. name=", parentW.Name, w.Name)
return
}
newt = t.newSpinner(w)
mapWidgetsToolkits(w, newt)
}
+
+// This routine is very specific to this toolkit
+// It's annoying and has to be copied to each widget when there are changes
+// it could be 'simplfied' maybe or made to be more generic, but this is as far as I've gotten
+// it's probably not worth working much more on this toolkit, the andlabs/ui has been great and got me here!
+// but it's time to write direct GTK, QT, macos and windows toolkit plugins
+// -- jcarr 2023/03/09
+
+func doSpinner(p *toolkit.Widget, c *toolkit.Widget) {
+ if broken(c) {
+ return
+ }
+ log(debugChange, "Going to attempt:", c.Action)
+ if (c.Action == "New") {
+ newSpinner(p, c)
+ return
+ }
+ ct := mapToolkits[c]
+ if (ct == nil) {
+ log(debugError, "Trying to do something on a widget that doesn't work or doesn't exist or something", c)
+ return
+ }
+ if ct.broken() {
+ log(debugError, "Spinner() ct.broken", ct)
+ return
+ }
+ if (ct.uiSpinbox == nil) {
+ log(debugError, "Label() uiSpinbox == nil", ct)
+ return
+ }
+ switch c.Action {
+ case "Enable":
+ ct.uiSpinbox.Enable()
+ case "Disable":
+ ct.uiSpinbox.Disable()
+ case "Show":
+ ct.uiSpinbox.Show()
+ case "Hide":
+ ct.uiSpinbox.Hide()
+ case "Set":
+ ct.uiSpinbox.SetValue(c.I)
+ case "Get":
+ c.I = ct.uiSpinbox.Value()
+ default:
+ log(debugError, "Can't do", c.Action, "to a Spinbox")
+ }
+}