diff options
Diffstat (limited to 'dropdown.go')
| -rw-r--r-- | dropdown.go | 69 |
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 } |
