diff --git a/debug.go b/debug.go index e548b98..0b0baa4 100644 --- a/debug.go +++ b/debug.go @@ -2,7 +2,6 @@ package gui import ( "fmt" - "os" "log" "time" @@ -145,29 +144,6 @@ func DebugDataNodeChildren() { } */ -func FindNode(name string) *Node { - if Data.NodeMap == nil { - log.Println("gui.FindNode() gui.Data.NodeMap == nil") - return nil - } - log.Println("gui.FindNode() searching Data.NodeMap:") - for id, node := range Data.NodeMap { - log.Println("\tData.NodeMap name =", node.Width, node.Height, id) - node.Dump() - if (name == node.Name) { - return node - } - newNode := findByName(node, name) - if (newNode != nil) { - return newNode - } - log.Println("gui.FindNode() could not find node name =", name) - os.Exit(-1) - } - log.Println("gui.FindNode() could not find node name =", name) - return nil -} - func (dn *GuiData) ListChildren(dump bool) { if Data.NodeMap == nil { log.Println("gui.Data.ListChildren() Data.NodeMap == nil") @@ -182,38 +158,3 @@ func (dn *GuiData) ListChildren(dump bool) { node.ListChildren(dump) } } - -func (dn *GuiData) findId(id string) *Node { - if Data.NodeMap == nil { - log.Println("gui.Data.findId() map == nil") - return nil - } - // log.Println("Dumping Data.NodeMap:") - for name, node := range Data.NodeMap { - // log.Println("\tData.NodeMap name =", node.id, node.Width, node.Height, name) - if (id == node.id) { - log.Println("\tgui.Data.findId() found node =", node.id, node.Width, node.Height, name) - return node - } - // TODO: fix // Oct 9 - // node.findId(id) - } - return nil -} - -/* -func DebugNodeChildren() { - if Data.NodeMap == nil { - log.Println("Data.NodeMap == nil") - return - } - log.Println("Dumping Data.NodeMap:") - for name, node := range Data.NodeMap { - log.Println("\tData.NodeMap name =", node.id, node.Width, node.Height, name) - // node.Dump() - node.ListChildren() - // node.SetName("yahoo") - // log.Println("\tData.NodeMap node =", node) - } -} -*/ diff --git a/find.go b/find.go index baf1a45..441f496 100644 --- a/find.go +++ b/find.go @@ -2,6 +2,7 @@ package gui import ( "log" + "os" // "github.com/andlabs/ui" // _ "github.com/andlabs/ui/winmanifest" @@ -33,3 +34,82 @@ func FindBox(s string) *GuiBox { log.Println("gui.FindBox() COULD NOT FIND BOX", s) return nil } + +func FindNode(name string) *Node { + if Data.NodeMap == nil { + log.Println("gui.FindNode() gui.Data.NodeMap == nil") + return nil + } + log.Println("gui.FindNode() searching Data.NodeMap:") + for id, node := range Data.NodeMap { + log.Println("\tData.NodeMap name =", node.Width, node.Height, id) + node.Dump() + if (name == node.Name) { + return node + } + newNode := findByName(node, name) + if (newNode != nil) { + return newNode + } + log.Println("gui.FindNode() could not find node name =", name) + os.Exit(-1) + } + log.Println("gui.FindNode() could not find node name =", name) + return nil +} + +func (dn *GuiData) findId(id string) *Node { + if Data.NodeMap == nil { + log.Println("gui.Data.findId() map == nil") + return nil + } + // log.Println("Dumping Data.NodeMap:") + for name, node := range Data.NodeMap { + // log.Println("\tData.NodeMap name =", node.id, node.Width, node.Height, name) + if (id == node.id) { + log.Println("\tgui.Data.findId() found node =", node.id, node.Width, node.Height, name) + return node + } + // TODO: fix // Oct 9 + // node.findId(id) + } + return nil +} + +func findByIdDFS(node *Node, id string) *Node { + log.Println("findByIdDFS()", id, node) + node.Dump() + if node.id == id { + log.Println("Found node id =", id, node) + return node + } + + if len(node.children) > 0 { + for _, child := range node.children { + newNode := findByIdDFS(child, id) + if (newNode != nil) { + return newNode + } + } + } + return nil +} + +func findByName(node *Node, name string) *Node { + log.Println("findByName()", name, node) + node.Dump() + if node.Name == name { + log.Println("findByName() Found node name =", name, node) + return node + } + + if len(node.children) > 0 { + for _, child := range node.children { + newNode := findByName(child, name) + if (newNode != nil) { + return newNode + } + } + } + return nil +} diff --git a/new-structs.go b/new-structs.go index d1ed875..7cd6d90 100644 --- a/new-structs.go +++ b/new-structs.go @@ -177,44 +177,6 @@ func (n *Node) ListChildren(dump bool) { return } -func findByIdDFS(node *Node, id string) *Node { - log.Println("findByIdDFS()", id, node) - node.Dump() - if node.id == id { - log.Println("Found node id =", id, node) - return node - } - - if len(node.children) > 0 { - for _, child := range node.children { - newNode := findByIdDFS(child, id) - if (newNode != nil) { - return newNode - } - } - } - return nil -} - -func findByName(node *Node, name string) *Node { - log.Println("findByName()", name, node) - node.Dump() - if node.Name == name { - log.Println("findByName() Found node name =", name, node) - return node - } - - if len(node.children) > 0 { - for _, child := range node.children { - newNode := findByName(child, name) - if (newNode != nil) { - return newNode - } - } - } - return nil -} - // The parent Node needs to be the raw Window // The 'stuff' Node needs to be the contents of the tab //