summaryrefslogtreecommitdiff
path: root/toolkit/andlabs/dropdown.go
diff options
context:
space:
mode:
Diffstat (limited to 'toolkit/andlabs/dropdown.go')
-rw-r--r--toolkit/andlabs/dropdown.go87
1 files changed, 11 insertions, 76 deletions
diff --git a/toolkit/andlabs/dropdown.go b/toolkit/andlabs/dropdown.go
index 35d391b..eac1324 100644
--- a/toolkit/andlabs/dropdown.go
+++ b/toolkit/andlabs/dropdown.go
@@ -10,15 +10,10 @@ func (t *andlabsT) newDropdown(w *toolkit.Widget) *andlabsT {
var newt andlabsT
log(debugToolkit, "gui.Toolbox.newDropdown() START", w.Name)
- if t.broken() {
- return nil
- }
-
newt.tw = w
s := ui.NewCombobox()
newt.uiCombobox = s
- newt.uiBox = t.uiBox
- t.uiBox.Append(s, stretchy)
+ newt.uiControl = s
// initialize the index
newt.c = 0
@@ -57,16 +52,16 @@ func (t *andlabsT) SetDropdown(i int) {
t.uiCombobox.SetSelected(i)
}
-func AddDropdownName(w *toolkit.Widget, s string) {
- log(debugToolkit, "gui.andlabs.AddDropdownName()", w.Name, "add:", s)
+func AddDropdownName(a *toolkit.Action) {
+ log(debugToolkit, "gui.andlabs.AddDropdownName()", a.Widget.Name, "add:", a.S)
- t := mapToolkits[w]
+ t := mapToolkits[a.Widget]
if (t == nil) {
- log(debugToolkit, "go.andlabs.AddDropdownName() toolkit struct == nil. name=", w.Name, s)
+ log(debugToolkit, "go.andlabs.AddDropdownName() toolkit struct == nil. name=", a.Widget.Name, a.S)
listMap(debugToolkit)
return
}
- t.AddDropdownName(s)
+ t.AddDropdownName(a.S)
}
func SetDropdownName(w *toolkit.Widget, s string) {
@@ -82,7 +77,9 @@ func SetDropdownName(w *toolkit.Widget, s string) {
t.tw.S = s
}
-func newDropdown(parentW *toolkit.Widget, w *toolkit.Widget) {
+func newDropdown(a *toolkit.Action) {
+ w := a.Widget
+ parentW := a.Where
log(debugToolkit, "gui.andlabs.newDropdown()", w.Name)
t := mapToolkits[parentW]
@@ -92,68 +89,6 @@ func newDropdown(parentW *toolkit.Widget, w *toolkit.Widget) {
return
}
newt := t.newDropdown(w)
- mapWidgetsToolkits(w, newt)
-}
-
-func doDropdown(p *toolkit.Widget, c *toolkit.Widget) {
- if broken(c) {
- return
- }
- if (c.Action == "New") {
- newDropdown(p, c)
- return
- }
- ct := mapToolkits[c]
- if (ct == nil) {
- log(debugError, "Trying to do something on a widget that doesn't work or doesn't exist or something", c)
- return
- }
- if ct.broken() {
- log(debugError, "Dropdown() ct.broken", ct)
- return
- }
- if (ct.uiCombobox == nil) {
- log(debugError, "Dropdown() uiCombobox == nil", ct)
- return
- }
- log(debugChange, "Going to attempt:", c.Action)
- switch c.Action {
- case "Add":
- ct.AddDropdownName(c.S)
- // ct.uiCombobox.Enable()
- case "Enable":
- ct.uiCombobox.Enable()
- case "Disable":
- ct.uiCombobox.Disable()
- case "Show":
- ct.uiCombobox.Show()
- case "Hide":
- ct.uiCombobox.Hide()
- case "Set":
- ct.uiCombobox.SetSelected(1)
- case "SetText":
- var orig int
- var i int = -1
- var s string
- orig = ct.uiCombobox.Selected()
- log(debugError, "TODO: set a Dropdown by the name selected =", orig, ct.c, c.S)
- // try to find the string
- for i, s = range ct.val {
- log(debugError, "i, s", i, s)
- if (c.S == s) {
- ct.uiCombobox.SetSelected(i)
- return
- }
- }
- // if i == -1, then there are not any things in the menu to select
- if (i == -1) {
- return
- }
- // if the string was never set, then set the dropdown to the last thing added to the menu
- if (orig == -1) {
- ct.uiCombobox.SetSelected(i)
- }
- default:
- log(debugError, "Can't do", c.Action, "to a Dropdown")
- }
+ place(a, t, newt)
+ mapWidgetsToolkits(a, newt)
}