summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJeff Carr <[email protected]>2021-10-25 06:46:49 -0500
committerJeff Carr <[email protected]>2021-10-25 06:46:49 -0500
commit9460526eadccf3f4a8f8eccdf6acbeaa6ca35bef (patch)
tree7ac867717d42d756a5df6d6298b1287e9c004550
parent24bd1fbda50920bff9de0f8808a10da98d8cf8a3 (diff)
REORG: move find() functions into find.go
Signed-off-by: Jeff Carr <[email protected]>
-rw-r--r--debug.go59
-rw-r--r--find.go80
-rw-r--r--new-structs.go38
3 files changed, 80 insertions, 97 deletions
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
//