NODE: continued work on implementing a node tree

Signed-off-by: Jeff Carr <jcarr@wit.com>
This commit is contained in:
Jeff Carr 2021-10-07 21:56:16 -05:00
parent 387b7ead6e
commit f83ab4577d
3 changed files with 48 additions and 6 deletions

View File

@ -116,12 +116,12 @@ func addTableTab() {
func DebugDataNodeMap() {
if Data.NodeMap == nil {
log.Println("Data.NodeMap == nil")
log.Println("DebugDataNodeMap() NodeMap == nil")
return
}
log.Println("Dumping Data.NodeMap:")
log.Println("DebugDataNodeMap():")
for name, node := range Data.NodeMap {
log.Println("\tData.NodeMap name =", node.Width, node.Height, name)
log.Println("\tNode name =", node.Width, node.Height, name)
if (node.children == nil) {
log.Println("\t\tNo children")
} else {
@ -132,6 +132,22 @@ func DebugDataNodeMap() {
}
}
func DebugDataNodeChildren() {
if Data.NodeMap == nil {
log.Println("DebugDataNodeChildren() NodeMap == nil")
return
}
log.Println("DebugDataNodeChildren():")
for name, node := range Data.NodeMap {
log.Println("\tNode name =", node.Width, node.Height, name)
if (node.children == nil) {
log.Println("\t\tNo children")
break
}
log.Println("\t\tHas children:", node.children)
}
}
func FindNode(name string) *Node {
if Data.NodeMap == nil {
log.Println("gui.FindNode() gui.Data.NodeMap == nil")
@ -163,8 +179,8 @@ func DebugNodeChildren() {
log.Println("Dumping Data.NodeMap:")
for name, node := range Data.NodeMap {
log.Println("\tData.NodeMap name =", node.Width, node.Height, name)
node.Dump()
node.List()
// node.Dump()
node.ListChildren()
// node.SetName("yahoo")
// log.Println("\tData.NodeMap node =", node)
}

View File

@ -80,10 +80,31 @@ func (n *Node) Append(child *Node) {
// }
n.children = append(n.children, child)
}
func (n *Node) List() {
findByIdDFS(n, "test")
}
func (n *Node) ListChildren() {
log.Println("gui.Node.ListChildren() node =", n.Name, n)
if len(n.children) == 0 {
log.Println("\t\tNo children START")
return
}
// if len(n.children) > 0 {
for _, child := range n.children {
log.Println("gui.Node.ListChildren() child =", child.Name, child)
if (child.children == nil) {
log.Println("\t\tNo children END")
break
}
log.Println("\t\tHas children:", child.children)
child.ListChildren()
}
return
}
func findByIdDFS(node *Node, id string) *Node {
log.Println("findByIdDFS()", id, node)
node.Dump()

View File

@ -140,8 +140,13 @@ func makeWindowDebug() ui.Control {
DebugDataNodeMap()
})
n2 := addButton(vbox, "DebugNodeChildren()")
n2 := addButton(vbox, "DebugDataNodeChildren()")
n2.OnClicked(func(*ui.Button) {
DebugDataNodeChildren()
})
n3 := addButton(vbox, "DebugNodeChildren()")
n3.OnClicked(func(*ui.Button) {
DebugNodeChildren()
})