diff options
| author | Jeff Carr <[email protected]> | 2022-10-11 11:25:46 -0500 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2022-10-11 11:25:46 -0500 |
| commit | 8358ca44efa625be9cd69fab870dfcf9c2a05df5 (patch) | |
| tree | 82a012480818d6825f01ce9bc5b62847347629c1 /find.go | |
| parent | 45644ef9bc333f5def62d1c7f474dc96274e63fa (diff) | |
Change Node to Box
Diffstat (limited to 'find.go')
| -rw-r--r-- | find.go | 59 |
1 files changed, 59 insertions, 0 deletions
@@ -17,6 +17,65 @@ func (n *Node) FindControl() *ui.Control { return n.uiControl } +func (n *Node) FindBox() *GuiBox { + if (n.box != nil) { + return n.box + } + if (n.parent != nil) { + p := n.parent + return p.box + } + return n.box +} + +func (n *Node) FindWindowBox() *GuiBox { + if (n.box == nil) { + panic("SERIOUS ERROR n.box == nil in FindWindowBox()") + } + return n.box +} + +func (w *GuiWindow) FindNode() *Node { + return w.node +} + +func (b *GuiBox) FindNode() *Node { + log.Println("gui.FindNode() on GuiBox") + if b.node != nil { + return b.node + } + Data.ListChildren(true) + b.Dump() + log.Println("gui.FindNode() on GuiBox is nil") + os.Exit(-1) + return nil +} + +func FindWindow(s string) *GuiWindow { + for name, window := range Data.WindowMap { + if name == s { + return window + } + } + log.Printf("COULD NOT FIND WINDOW " + s) + return nil +} + +func FindBox(s string) *GuiBox { + for name, window := range Data.WindowMap { + if name != s { + continue + } + for name, abox := range window.BoxMap { + log.Printf("gui.DumpBoxes() \tBOX mapname=%-12s abox.Name=%-12s", name, abox.Name) + return abox + } + log.Println("gui.FindBox() NEED TO INIT WINDOW name =", name) + } + 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") |
