package main import ( "go.wit.com/log" "go.wit.com/gui/widget" ) func (n *node) setText(a *widget.Action) { name := getString(a.Value) log.Log(CHANGE, "setText() START with text =", name) t := n.tk if (t == nil) { log.Log(ERROR, "setText error. tk == nil", n.progname, n.WidgetId) return } log.Log(CHANGE, "setText() Attempt on", n.WidgetType, "with", name) switch n.WidgetType { case widget.Window: log.Warn("setText() Attempt to set the title to", name) t.uiWindow.SetTitle(name) case widget.Tab: case widget.Group: t.uiGroup.SetTitle(name) case widget.Checkbox: t.uiCheckbox.SetText(name) case widget.Textbox: if (t.uiEntry != nil) { t.uiEntry.SetText(name) } if (t.uiMultilineEntry != nil) { t.uiMultilineEntry.SetText(name) } case widget.Label: t.uiLabel.SetText(name) case widget.Button: t.uiButton.SetText(name) case widget.Slider: log.Log(ERROR, "setText() on slider unknown", a.ActionType, "on checkbox", n.progname) case widget.Spinner: log.Log(ERROR, "setText() on spinner unknown", a.ActionType, "on checkbox", n.progname) case widget.Dropdown: var orig int var i int = -1 var s string orig = t.uiCombobox.Selected() log.Log(CHANGE, "try to set the Dropdown to", name, "from", orig) // try to find the string for i, s = range t.val { log.Log(CHANGE, "i, s", i, s) if (name == s) { t.uiCombobox.SetSelected(i) log.Log(CHANGE, "setText() Dropdown worked.", name) return } } log.Log(ERROR, "setText() Dropdown did not find:", name) // 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) { t.uiCombobox.SetSelected(i) } case widget.Combobox: t.uiEditableCombobox.SetText(name) default: log.Log(ERROR, "plugin Send() Don't know how to setText on", n.WidgetType, "yet", a.ActionType) } log.Log(CHANGE, "setText() END with name =", ) }