NODE: going down a rabbit hole

This commit is contained in:
Jeff Carr 2021-10-09 05:31:59 -05:00
parent 310569479b
commit 043c5d7fcb
4 changed files with 21 additions and 20 deletions

2
box.go
View File

@ -60,9 +60,9 @@ func add(box *GuiBox, newbox *GuiBox) {
} }
if (box.UiBox == nil) { if (box.UiBox == nil) {
DebugDataNodeChildren()
box.Dump() box.Dump()
return return
// TODO: fix this whole add() function // Oct 9
panic("gui.add() ERROR box.UiBox == nil") panic("gui.add() ERROR box.UiBox == nil")
} }
box.UiBox.Append(newbox.UiBox, false) box.UiBox.Append(newbox.UiBox, false)

View File

@ -128,6 +128,7 @@ func (dn *GuiData) DumpNodeMap() {
} }
} }
/*
func DebugDataNodeChildren() { func DebugDataNodeChildren() {
if Data.NodeMap == nil { if Data.NodeMap == nil {
log.Println("DebugDataNodeChildren() NodeMap == nil") log.Println("DebugDataNodeChildren() NodeMap == nil")
@ -143,6 +144,7 @@ func DebugDataNodeChildren() {
log.Println("\t\tHas children:", node.children) log.Println("\t\tHas children:", node.children)
} }
} }
*/
func FindNode(name string) *Node { func FindNode(name string) *Node {
if Data.NodeMap == nil { if Data.NodeMap == nil {

View File

@ -170,10 +170,12 @@ func makeWindowDebug() ui.Control {
Data.DumpNodeMap() Data.DumpNodeMap()
}) })
/*
n1 = addButton(vbox, "DebugDataNodeChildren()") n1 = addButton(vbox, "DebugDataNodeChildren()")
n1.OnClicked(func(*ui.Button) { n1.OnClicked(func(*ui.Button) {
DebugDataNodeChildren() DebugDataNodeChildren()
}) })
*/
n1 = addButton(vbox, "Data.ListChildren(false)") n1 = addButton(vbox, "Data.ListChildren(false)")
n1.OnClicked(func(*ui.Button) { n1.OnClicked(func(*ui.Button) {

View File

@ -70,7 +70,7 @@ func InitWindow(parent *Node, gw *GuiWindow, name string, axis int) *Node {
// This is the first window. One must create it here // This is the first window. One must create it here
if gw == nil { if gw == nil {
log.Println("gui.initWindow() ADDING ui.NewWindow()") log.Println("gui.initWindow() ADDING ui.NewWindow()")
node = uiNewWindow(node, name, Config.Width, Config.Height) node.uiNewWindow(name, Config.Width, Config.Height)
box.node = node box.node = node
if (node.box == nil) { if (node.box == nil) {
node.box = box node.box = box
@ -248,11 +248,7 @@ func makeNode(parent *Node, title string, x int, y int) *Node {
return &node return &node
} }
func uiNewWindow(node *Node, title string, x int, y int) *Node { func (n *Node) uiNewWindow(title string, x int, y int) {
if (node == nil) {
node = makeNode(nil, title, x, y)
}
w := ui.NewWindow(title, x, y, false) w := ui.NewWindow(title, x, y, false)
w.SetBorderless(false) w.SetBorderless(false)
w.OnClosing(func(*ui.Window) bool { w.OnClosing(func(*ui.Window) bool {
@ -261,18 +257,18 @@ func uiNewWindow(node *Node, title string, x int, y int) *Node {
}) })
w.SetMargined(true) w.SetMargined(true)
w.Show() w.Show()
node.uiWindow = w n.uiWindow = w
// w.node = &node // w.node = &node
return node return
} }
func CreateBlankWindow(title string, x int, y int) *Node { func CreateBlankWindow(title string, x int, y int) *Node {
n := mapWindow(nil, nil, title, x, y) node := mapWindow(nil, nil, title, x, y)
box := n.box box := node.box
log.Println("gui.CreateBlankWindow() title = box.Name =", box.Name) log.Println("gui.CreateBlankWindow() title = box.Name =", box.Name)
n = uiNewWindow(n, box.Name, x, y) node.uiNewWindow(box.Name, x, y)
window := n.uiWindow window := node.uiWindow
ui.OnShouldQuit(func() bool { ui.OnShouldQuit(func() bool {
log.Println("createWindow().Destroy()", box.Name) log.Println("createWindow().Destroy()", box.Name)
@ -281,7 +277,7 @@ func CreateBlankWindow(title string, x int, y int) *Node {
}) })
box.Window.UiWindow = window box.Window.UiWindow = window
return n return node
} }
func initBlankWindow() ui.Control { func initBlankWindow() ui.Control {
@ -333,13 +329,14 @@ func mapWindow(parent *Node, window *ui.Window, title string, x int, y int) *Nod
return node return node
} }
func NewWindow(title string, x int, y int) *GuiBox { func NewWindow(title string, x int, y int) *Node {
n := mapWindow(nil, nil, title, x, y) var node *Node
box := n.box node = mapWindow(nil, nil, title, x, y)
box := node.box
log.Println("gui.NewWindow() title = box.Name =", box.Name) log.Println("gui.NewWindow() title = box.Name =", box.Name)
n = uiNewWindow(n, box.Name, x, y) node.uiNewWindow(box.Name, x, y)
window := n.uiWindow window := node.uiWindow
ui.OnShouldQuit(func() bool { ui.OnShouldQuit(func() bool {
log.Println("createWindow().Destroy()", box.Name) log.Println("createWindow().Destroy()", box.Name)
@ -348,5 +345,5 @@ func NewWindow(title string, x int, y int) *GuiBox {
}) })
box.Window.UiWindow = window box.Window.UiWindow = window
return box return node
} }