summaryrefslogtreecommitdiff
path: root/dropdown.go
diff options
context:
space:
mode:
Diffstat (limited to 'dropdown.go')
-rw-r--r--dropdown.go69
1 files changed, 19 insertions, 50 deletions
diff --git a/dropdown.go b/dropdown.go
index 583ea25..f500c55 100644
--- a/dropdown.go
+++ b/dropdown.go
@@ -2,61 +2,30 @@ package gui
import "log"
-import toolkit "git.wit.org/wit/gui/toolkit/andlabs"
-
-func commonCallback(n *Node) {
- // TODO: make all of this common code to all the widgets
- if (n.OnChanged == nil) {
- if (Config.Options.DebugChange) {
- log.Println("Not Running n.OnChanged(n) == nil")
- }
- } else {
- if (Config.Options.DebugChange) {
- log.Println("Running n.OnChanged(n)")
+func (n *Node) AddDropdownName(name string) {
+ for _, aplug := range allPlugins {
+ log.Println("gui.AddDropdownName() aplug =", aplug.name, "name =", name)
+ if (aplug.AddDropdownName == nil) {
+ log.Println("\tgui.AddDropdownName() aplug.NewDropdown = nil", aplug.name)
+ continue
}
- n.OnChanged(n)
- }
-
- if (n.custom == nil) {
- if (Config.Options.DebugChange) {
- log.Println("Not Running n.custom(n) == nil")
- }
- } else {
- if (Config.Options.DebugChange) {
- log.Println("Running n.custom()")
- }
- n.custom()
+ aplug.AddDropdownName(&n.Widget, name)
}
}
-func (n *Node) NewDropdown(name string) *Node {
- var newT *toolkit.Toolkit
- var sNode *Node
-
- if (Config.Options.Debug) {
- log.Println("toolkit.NewDropdown() START", name)
- }
-
- n.verify()
-
- sNode = n.New(name + " part1")
- newT = n.toolkit.NewDropdown(name)
- newT.Name = name
- sNode.custom = n.custom
- newT.Custom = func () {
- commonCallback(sNode)
- }
- sNode.toolkit = newT
- sNode.Dump()
- // panic("checking Custom()")
-
- return sNode
+func (n *Node) SetDropdown(i int) {
}
-func (n *Node) AddDropdown(name string) {
- n.toolkit.AddDropdown(name)
-}
+func (n *Node) NewDropdown(text string) *Node {
+ newNode := n.New(text)
-func (n *Node) SetDropdown(i int) {
- n.toolkit.SetDropdown(i)
+ for _, aplug := range allPlugins {
+ log.Println("gui.NewDropdown() aplug =", aplug.name, "name =", newNode.Widget.Name)
+ if (aplug.NewDropdown == nil) {
+ log.Println("\tgui.NewDropdown() aplug.NewDropdown = nil", aplug.name)
+ continue
+ }
+ aplug.NewDropdown(&n.Widget, &newNode.Widget)
+ }
+ return newNode
}