129 lines
3.3 KiB
Go
129 lines
3.3 KiB
Go
|
package main
|
||
|
|
||
|
import (
|
||
|
"go.wit.com/gui/gui/toolkit"
|
||
|
)
|
||
|
|
||
|
func (n *node) setText(a *toolkit.Action) {
|
||
|
log(debugChange, "setText() START with a.S =", a.S)
|
||
|
t := n.tk
|
||
|
if (t == nil) {
|
||
|
log(debugError, "setText error. tk == nil", n.Name, n.WidgetId)
|
||
|
actionDump(debugError, a)
|
||
|
return
|
||
|
}
|
||
|
log(debugChange, "setText() Attempt on", n.WidgetType, "with", a.S)
|
||
|
|
||
|
switch n.WidgetType {
|
||
|
case toolkit.Window:
|
||
|
t.uiWindow.SetTitle(a.S)
|
||
|
case toolkit.Tab:
|
||
|
case toolkit.Group:
|
||
|
t.uiGroup.SetTitle(a.S)
|
||
|
case toolkit.Checkbox:
|
||
|
switch a.ActionType {
|
||
|
case toolkit.SetText:
|
||
|
t.uiCheckbox.SetText(a.S)
|
||
|
case toolkit.Get:
|
||
|
n.B = t.uiCheckbox.Checked()
|
||
|
case toolkit.Set:
|
||
|
// TODO: commented out while working on chan
|
||
|
t.uiCheckbox.SetChecked(a.B)
|
||
|
default:
|
||
|
log(debugError, "setText() unknown", a.ActionType, "on checkbox", n.Name)
|
||
|
}
|
||
|
case toolkit.Textbox:
|
||
|
switch a.ActionType {
|
||
|
case toolkit.Set:
|
||
|
if (t.uiEntry != nil) {
|
||
|
t.uiEntry.SetText(a.S)
|
||
|
}
|
||
|
if (t.uiMultilineEntry != nil) {
|
||
|
t.uiMultilineEntry.SetText(a.S)
|
||
|
}
|
||
|
case toolkit.SetText:
|
||
|
if (t.uiEntry != nil) {
|
||
|
t.uiEntry.SetText(a.S)
|
||
|
}
|
||
|
if (t.uiMultilineEntry != nil) {
|
||
|
t.uiMultilineEntry.SetText(a.S)
|
||
|
}
|
||
|
default:
|
||
|
log(debugError, "setText() unknown", a.ActionType, "on checkbox", n.Name)
|
||
|
}
|
||
|
case toolkit.Label:
|
||
|
t.uiLabel.SetText(a.S)
|
||
|
case toolkit.Button:
|
||
|
t.uiButton.SetText(a.S)
|
||
|
case toolkit.Slider:
|
||
|
switch a.ActionType {
|
||
|
case toolkit.Get:
|
||
|
n.I = t.uiSlider.Value()
|
||
|
case toolkit.Set:
|
||
|
t.uiSlider.SetValue(a.I)
|
||
|
default:
|
||
|
log(debugError, "setText() unknown", a.ActionType, "on checkbox", n.Name)
|
||
|
}
|
||
|
case toolkit.Spinner:
|
||
|
switch a.ActionType {
|
||
|
case toolkit.Get:
|
||
|
n.I = t.uiSpinbox.Value()
|
||
|
case toolkit.Set:
|
||
|
t.uiSpinbox.SetValue(a.I)
|
||
|
default:
|
||
|
log(debugError, "setText() unknown", a.ActionType, "on checkbox", n.Name)
|
||
|
}
|
||
|
case toolkit.Dropdown:
|
||
|
switch a.ActionType {
|
||
|
case toolkit.AddText:
|
||
|
n.AddDropdownName(a.S)
|
||
|
case toolkit.Set:
|
||
|
var orig int
|
||
|
var i int = -1
|
||
|
var s string
|
||
|
orig = t.uiCombobox.Selected()
|
||
|
log(debugChange, "try to set the Dropdown to", a.S, "from", orig)
|
||
|
// try to find the string
|
||
|
for i, s = range t.val {
|
||
|
log(debugChange, "i, s", i, s)
|
||
|
if (a.S == s) {
|
||
|
t.uiCombobox.SetSelected(i)
|
||
|
log(debugChange, "setText() Dropdown worked.", n.S)
|
||
|
return
|
||
|
}
|
||
|
}
|
||
|
log(debugError, "setText() Dropdown did not find:", a.S)
|
||
|
// 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 toolkit.Get:
|
||
|
// t.S = t.s
|
||
|
case toolkit.GetText:
|
||
|
// t.S = t.s
|
||
|
default:
|
||
|
log(debugError, "setText() unknown", a.ActionType, "on checkbox", n.Name)
|
||
|
}
|
||
|
case toolkit.Combobox:
|
||
|
switch a.ActionType {
|
||
|
case toolkit.AddText:
|
||
|
t.AddComboboxName(a.S)
|
||
|
case toolkit.Set:
|
||
|
t.uiEditableCombobox.SetText(a.S)
|
||
|
n.S = a.S
|
||
|
case toolkit.SetText:
|
||
|
t.uiEditableCombobox.SetText(a.S)
|
||
|
n.S = a.S
|
||
|
default:
|
||
|
log(debugError, "setText() unknown", a.ActionType, "on checkbox", n.Name)
|
||
|
}
|
||
|
default:
|
||
|
log(debugError, "plugin Send() Don't know how to setText on", n.WidgetType, "yet", a.ActionType)
|
||
|
}
|
||
|
log(debugChange, "setText() END with a.S =", a.S)
|
||
|
}
|