summaryrefslogtreecommitdiff
path: root/dropdown.go
diff options
context:
space:
mode:
Diffstat (limited to 'dropdown.go')
-rw-r--r--dropdown.go52
1 files changed, 52 insertions, 0 deletions
diff --git a/dropdown.go b/dropdown.go
new file mode 100644
index 0000000..eede92f
--- /dev/null
+++ b/dropdown.go
@@ -0,0 +1,52 @@
+package gui
+
+import "log"
+
+import toolkit "git.wit.org/wit/gui/toolkit/andlabs"
+
+func (n *Node) NewDropdown(name string) *Node {
+ var newT *toolkit.Toolkit
+ var sNode *Node
+
+ log.Println("toolkit.NewDropdown() START", name)
+
+ // make this generic
+ if (n.toolkit == nil) {
+ log.Println("toolkit.NewSlider() toolkit == nil")
+ panic("toolkit should never be nil")
+ }
+
+ sNode = n.New(name + " part1")
+ newT = n.toolkit.NewDropdown(name)
+ newT.Name = name
+ sNode.custom = n.custom
+ newT.Custom = func () {
+ // TODO: make all of this common code to all the widgets
+ if (n.custom == nil) {
+ log.Println("Not Running n.custom(n) == nil")
+ } else {
+ log.Println("Running n.custom(n)")
+ sNode.custom(sNode)
+ }
+ if (sNode.OnChanged == nil) {
+ log.Println("Not Running n.OnChanged(n) == nil")
+ } else {
+ log.Println("Running n.OnChanged(n)")
+ sNode.OnChanged(sNode)
+ }
+ }
+ sNode.toolkit = newT
+ sNode.Dump()
+ sNode.toolkit.Dump()
+ // panic("checking Custom()")
+
+ return sNode
+}
+
+func (n *Node) AddDropdown(name string) {
+ n.toolkit.AddDropdown(name)
+}
+
+func (n *Node) SetDropdown(i int) {
+ n.toolkit.SetDropdown(i)
+}