diff options
Diffstat (limited to 'dropdown.go')
| -rw-r--r-- | dropdown.go | 51 |
1 files changed, 22 insertions, 29 deletions
diff --git a/dropdown.go b/dropdown.go index e999f7e..214cc5a 100644 --- a/dropdown.go +++ b/dropdown.go @@ -1,53 +1,46 @@ package gui +import ( + "git.wit.org/wit/gui/toolkit" +) + +// add a new entry to the dropdown name func (n *Node) AddDropdownName(name string) { for _, aplug := range allPlugins { - log(debugGui, "gui.AddDropdownName() aplug =", aplug.name, "name =", name) + log(debugPlugin, "AddDropdownName() aplug =", aplug.name, "name =", name) if (aplug.AddDropdownName == nil) { - log(debugGui, "\tgui.AddDropdownName() aplug.NewDropdown = nil", aplug.name) + log(debugPlugin, "\taplug.AddDropdownName() = nil") continue } - aplug.AddDropdownName(&n.Widget, name) - } - - if (n.Widget.Custom == nil) { - n.SetDropdownChange( func() { - log(debugChange, "gui.Dropdown change() REAL Custom() name =", name) - log(debugChange, "gui.Dropdown change() REAL n.Widget.S =", n.Widget.S) - }) + aplug.AddDropdownName(&n.widget, name) } - // TODO, this makes functions over and over for each dropdown menu - /* - n.Widget.Custom = func() { - log(debugChange, "gui.Dropdown change() START Custom() name =", name) - log(debugChange, "gui.Dropdown change() START n.Widget.S =", n.Widget.S) - } - */ -} - -func (n *Node) SetDropdown(s any) { - log(debugGui, "gui.SetDropdown() TODO: make this work. s =", s) } -func (n *Node) SetDropdownChange(f func()) { - n.Widget.Custom = f +// Set the dropdown menu to 'name' +func (n *Node) SetDropdownName(name string) { + log(debugGui, "SetDropdownName() work. name =", name) + for _, aplug := range allPlugins { + log(debugPlugin, "SetDropdownName() aplug =", aplug.name, "name =", name) + if (aplug.SetDropdownName == nil) { + log(true, "\taplug.SetDropdownName() aplug = nil") + continue + } + aplug.SetDropdownName(&n.widget, name) + } } func (n *Node) NewDropdown(name string) *Node { - newNode := n.New(name, "Dropdown") + newNode := n.New(name, toolkit.Dropdown, nil) for _, aplug := range allPlugins { - log(debugGui, "gui.NewDropdown() aplug =", aplug.name, "name =", newNode.Widget.Name) + log(debugGui, "gui.NewDropdown() aplug =", aplug.name, "name =", newNode.widget.Name) if (aplug.NewDropdown == nil) { log(debugGui, "\tgui.NewDropdown() aplug.NewDropdown = nil", aplug.name) continue } - aplug.NewDropdown(&n.Widget, &newNode.Widget) + aplug.NewDropdown(&n.widget, &newNode.widget) } // TODO, this doesn't work for some reason (over-written by plugin?) - newNode.Widget.Custom = func() { - log(true, "gui.NewDropdown() START Custom()") - } return newNode } |
