diff options
Diffstat (limited to 'andlabs/combobox.go')
| -rw-r--r-- | andlabs/combobox.go | 54 |
1 files changed, 31 insertions, 23 deletions
diff --git a/andlabs/combobox.go b/andlabs/combobox.go index 0dd16c6..adfea36 100644 --- a/andlabs/combobox.go +++ b/andlabs/combobox.go @@ -5,10 +5,11 @@ import ( _ "go.wit.com/dev/andlabs/ui/winmanifest" "go.wit.com/log" - "go.wit.com/gui/widget" + "go.wit.com/gui/toolkits/tree" ) -func (p *node) newCombobox(n *node) { +func newCombobox(p, n *tree.Node) { + if notNew(n) { return } newt := new(guiWidget) cb := ui.NewEditableCombobox() @@ -20,46 +21,53 @@ func (p *node) newCombobox(n *node) { newt.val = make(map[int]string) cb.OnChanged(func(spin *ui.EditableCombobox) { - n.value = spin.Text() + n.SetValue(spin.Text()) log.Warn("combobox changed =" + spin.Text() + ".") - n.doUserEvent() + me.myTree.DoUserEvent(n) }) - n.tk = newt - p.place(n) + n.TK = newt + place(p, n) + log.Warn("add combobox entries on create:", n.State.Strings) + log.Warn("add combobox entries on create:", n.State.Strings) + log.Warn("add combobox entries on create:", n.State.Strings) // add the initial combobox entries - for i, s := range n.strings { - log.Warn("add combobox entries on create", n.progname, i, s) - n.addComboboxName(s) + for i, s := range n.State.Strings { + log.Warn("add combobox entries on create", n.GetProgName(), i, s) + addComboboxName(n, s) } - cur := widget.GetString(n.value) - log.Warn("add combobox: TODO: set default value on create", n.progname, cur) - n.setComboboxName(cur) + cur := n.String() + log.Warn("add combobox: TODO: set default value on create", n.GetProgName(), cur) + setComboboxName(n, cur) } -func (n *node) addComboboxName(s string) { - if ! n.ready() { return } +func addComboboxName(n *tree.Node, s string) { + if ! ready(n) { return } + var tk *guiWidget + tk = n.TK.(*guiWidget) log.Log(INFO, "addComboboxName()", n.WidgetId, "add:", s) - n.tk.uiEditableCombobox.Append(s) - if (n.tk.val == nil) { + tk.uiEditableCombobox.Append(s) + if (tk.val == nil) { log.Log(INFO, "make map didn't work") return } - n.tk.val[n.tk.c] = s + tk.val[tk.c] = s // If this is the first menu added, set the dropdown to it - if (n.tk.c == 0) { + if (tk.c == 0) { log.Log(INFO, "THIS IS THE FIRST combobox", s) - n.tk.uiEditableCombobox.SetText(s) + tk.uiEditableCombobox.SetText(s) } - n.tk.c = n.tk.c + 1 + tk.c = tk.c + 1 } -func (n *node) setComboboxName(s string) bool { - if ! n.ready() { return false} +func setComboboxName(n *tree.Node, s string) bool { + if ! ready(n) { return false} + var tk *guiWidget + tk = n.TK.(*guiWidget) log.Log(INFO, "SetComboboxName()", n.WidgetId, ",", s) - n.tk.uiEditableCombobox.SetText(s) + tk.uiEditableCombobox.SetText(s) return false } |
