TEXT: fix OnChanged() handling
This commit is contained in:
parent
f7ead697d3
commit
e7bcb14d6c
18
box.go
18
box.go
|
@ -187,12 +187,16 @@ func VerticalBreak(box *GuiBox) {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (n *Node) AddComboBox(title string, s ...string) *Node {
|
func (n *Node) AddComboBox(title string, s ...string) *Node {
|
||||||
|
newNode := n.AddNode(title)
|
||||||
box := n.uiBox
|
box := n.uiBox
|
||||||
if (box == nil) {
|
if (box == nil) {
|
||||||
return n
|
return n
|
||||||
}
|
}
|
||||||
|
|
||||||
ecbox := ui.NewEditableCombobox()
|
ecbox := ui.NewEditableCombobox()
|
||||||
|
newNode.uiText = ecbox
|
||||||
|
// newNode.Dump()
|
||||||
|
// log.Println("ecbox", ecbox)
|
||||||
|
|
||||||
for id, name := range s {
|
for id, name := range s {
|
||||||
log.Println("Adding Combobox Entry:", id, name)
|
log.Println("Adding Combobox Entry:", id, name)
|
||||||
|
@ -201,19 +205,27 @@ func (n *Node) AddComboBox(title string, s ...string) *Node {
|
||||||
|
|
||||||
ecbox.OnChanged(func(*ui.EditableCombobox) {
|
ecbox.OnChanged(func(*ui.EditableCombobox) {
|
||||||
test := ecbox.Text()
|
test := ecbox.Text()
|
||||||
log.Println("node.Name = '" + n.Name + "' text for '" + title + "' is now: '" + test + "'")
|
log.Println("node.Name = '" + newNode.Name + "' text for '" + title + "' is now: '" + test + "'")
|
||||||
|
if (newNode.OnChanged == nil) {
|
||||||
|
log.Println("Not doing custom OnChanged since OnChanged == nil")
|
||||||
|
newNode.Dump()
|
||||||
|
} else {
|
||||||
|
newNode.OnChanged()
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
|
||||||
box.Append(ecbox, false)
|
box.Append(ecbox, false)
|
||||||
|
|
||||||
newNode := n.AddNode(title)
|
// newNode.Dump()
|
||||||
newNode.uiText = ecbox
|
// panic("junk")
|
||||||
return newNode
|
return newNode
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
func (n *Node) OnChanged(f func()) {
|
func (n *Node) OnChanged(f func()) {
|
||||||
f()
|
f()
|
||||||
}
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
func (n *Node) GetText() string {
|
func (n *Node) GetText() string {
|
||||||
if (n.uiText == nil) {
|
if (n.uiText == nil) {
|
||||||
|
|
|
@ -33,9 +33,9 @@ func addDemoTab(n *gui.Node, title string) {
|
||||||
|
|
||||||
groupNode1 := newNode.AddGroup("group 1")
|
groupNode1 := newNode.AddGroup("group 1")
|
||||||
cbNode := groupNode1.AddComboBox("username", "root", "jcarr", "hugo")
|
cbNode := groupNode1.AddComboBox("username", "root", "jcarr", "hugo")
|
||||||
cbNode.OnChanged(func () {
|
cbNode.OnChanged = func () {
|
||||||
username = cbNode.GetText()
|
username = cbNode.GetText()
|
||||||
})
|
}
|
||||||
groupNode1.AddComboBox("demoCombo3", "foo 3", "bar", "stuff")
|
groupNode1.AddComboBox("demoCombo3", "foo 3", "bar", "stuff")
|
||||||
|
|
||||||
groupNode1.Dump()
|
groupNode1.Dump()
|
||||||
|
|
|
@ -44,6 +44,7 @@ type Node struct {
|
||||||
Name string
|
Name string
|
||||||
Width int
|
Width int
|
||||||
Height int
|
Height int
|
||||||
|
OnChanged func ()
|
||||||
|
|
||||||
parent *Node
|
parent *Node
|
||||||
children []*Node
|
children []*Node
|
||||||
|
@ -73,6 +74,7 @@ func (n *Node) Dump() {
|
||||||
log.Println("gui.Node.Dump() Name = ", n.Name)
|
log.Println("gui.Node.Dump() Name = ", n.Name)
|
||||||
log.Println("gui.Node.Dump() Width = ", n.Width)
|
log.Println("gui.Node.Dump() Width = ", n.Width)
|
||||||
log.Println("gui.Node.Dump() Height = ", n.Height)
|
log.Println("gui.Node.Dump() Height = ", n.Height)
|
||||||
|
log.Println("gui.Node.Dump() OnChanged = ", n.OnChanged)
|
||||||
|
|
||||||
if (n.parent == nil) {
|
if (n.parent == nil) {
|
||||||
log.Println("gui.Node.Dump() parent = nil")
|
log.Println("gui.Node.Dump() parent = nil")
|
||||||
|
@ -89,6 +91,7 @@ func (n *Node) Dump() {
|
||||||
log.Println("gui.Node.Dump() uiBox = ", n.uiBox)
|
log.Println("gui.Node.Dump() uiBox = ", n.uiBox)
|
||||||
log.Println("gui.Node.Dump() uiControl = ", n.uiControl)
|
log.Println("gui.Node.Dump() uiControl = ", n.uiControl)
|
||||||
log.Println("gui.Node.Dump() uiButton = ", n.uiButton)
|
log.Println("gui.Node.Dump() uiButton = ", n.uiButton)
|
||||||
|
log.Println("gui.Node.Dump() uiText = ", n.uiText)
|
||||||
if (n.id == "") {
|
if (n.id == "") {
|
||||||
panic("gui.Node.Dump() id == nil")
|
panic("gui.Node.Dump() id == nil")
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue