NODE: walking around in the rabbit hole
This commit is contained in:
parent
3d6e0e5518
commit
da16b8106c
30
box.go
30
box.go
|
@ -72,25 +72,18 @@ func add(box *GuiBox, newbox *GuiBox) {
|
|||
log.Println("gui.add() END")
|
||||
}
|
||||
|
||||
func (n *Node) NewBox(axis int, name string) *Node {
|
||||
var newBox *GuiBox
|
||||
var newNode *Node = n
|
||||
func (parent *Node) NewBox(axis int, name string) *Node {
|
||||
if (parent.box == nil) {
|
||||
panic("gui.Node.NewBox() parent.box == nil")
|
||||
}
|
||||
|
||||
newBox = new(GuiBox)
|
||||
// newBox.Window = newNode.uiWindow
|
||||
newBox := new(GuiBox)
|
||||
newBox.Window = parent.window
|
||||
newBox.Name = name
|
||||
|
||||
if (n.box == nil) {
|
||||
panic("node.newBox() box == nil")
|
||||
}
|
||||
if (n.box == nil) {
|
||||
// add a box here
|
||||
newBox.node = n
|
||||
n.box = newBox
|
||||
} else {
|
||||
// make a new box & a new node
|
||||
newNode = makeNode(n, name, 111, 112)
|
||||
}
|
||||
// make a new box & a new node
|
||||
newNode := parent.makeNode(name, 111, 100 + Config.counter)
|
||||
Config.counter += 1
|
||||
|
||||
var uiBox *ui.Box
|
||||
if (axis == Xaxis) {
|
||||
|
@ -100,7 +93,10 @@ func (n *Node) NewBox(axis int, name string) *Node {
|
|||
}
|
||||
uiBox.SetPadded(true)
|
||||
newBox.UiBox = uiBox
|
||||
add(n.box, newBox)
|
||||
newNode.uiBox = uiBox
|
||||
|
||||
parent.Append(newNode)
|
||||
// add(n.box, newBox)
|
||||
return newNode
|
||||
}
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ func watchGUI() {
|
|||
for {
|
||||
log.Println("Waiting for customExit()", i)
|
||||
i += 1
|
||||
time.Sleep(3 * time.Second)
|
||||
time.Sleep(1 * time.Second)
|
||||
if i == 2 {
|
||||
log.Println("Sending ExampleWindow to gui.Queue()")
|
||||
gui.Queue(gui.DebugWindow)
|
||||
|
|
|
@ -47,11 +47,13 @@ type Node struct {
|
|||
parent *Node
|
||||
children []*Node
|
||||
|
||||
window *GuiWindow
|
||||
box *GuiBox
|
||||
|
||||
uiControl *ui.Control
|
||||
uiWindow *ui.Window
|
||||
uiTab *ui.Tab
|
||||
uiBox *ui.Box
|
||||
}
|
||||
|
||||
func (n *Node) Parent() *Node {
|
||||
|
@ -67,12 +69,17 @@ func (n *Node) Dump() {
|
|||
log.Println("gui.Node.Dump() Name = ", n.Name)
|
||||
log.Println("gui.Node.Dump() Width = ", n.Width)
|
||||
log.Println("gui.Node.Dump() Height = ", n.Height)
|
||||
|
||||
log.Println("gui.Node.Dump() parent = ", n.parent)
|
||||
log.Println("gui.Node.Dump() children = ", n.children)
|
||||
|
||||
log.Println("gui.Node.Dump() window = ", n.window)
|
||||
log.Println("gui.Node.Dump() box = ", n.box)
|
||||
log.Println("gui.Node.Dump() uiControl = ", n.uiControl)
|
||||
|
||||
log.Println("gui.Node.Dump() uiWindow = ", n.uiWindow)
|
||||
log.Println("gui.Node.Dump() uiTab = ", n.uiTab)
|
||||
log.Println("gui.Node.Dump() uiBox = ", n.uiBox)
|
||||
log.Println("gui.Node.Dump() uiControl = ", n.uiControl)
|
||||
if (n.id == "") {
|
||||
panic("gui.Node.Dump() id == nil")
|
||||
}
|
||||
|
@ -197,30 +204,6 @@ func findByName(node *Node, name string) *Node {
|
|||
return nil
|
||||
}
|
||||
|
||||
/*
|
||||
func (parent *Node) InitTab(title string) *Node {
|
||||
if parent.uiWindow == nil {
|
||||
parent.Dump()
|
||||
panic("gui.InitTab() ERROR ui.Window == nil")
|
||||
}
|
||||
if parent.box == nil {
|
||||
parent.Dump()
|
||||
panic("gui.InitTab() ERROR box == nil")
|
||||
}
|
||||
|
||||
tab := ui.NewTab()
|
||||
parent.uiWindow.SetChild(tab)
|
||||
parent.uiWindow.SetMargined(true)
|
||||
parent.uiTab = tab
|
||||
|
||||
tab.Append(title, initBlankWindow())
|
||||
tab.SetMargined(0, true)
|
||||
|
||||
newNode := makeNode(parent, title, 555, 600 + Config.counter)
|
||||
return newNode
|
||||
}
|
||||
*/
|
||||
|
||||
func (parent *Node) AddTab(title string) *Node {
|
||||
if parent.uiWindow == nil {
|
||||
parent.Dump()
|
||||
|
@ -246,7 +229,7 @@ func (parent *Node) AddTab(title string) *Node {
|
|||
tab.Append(title, initBlankWindow())
|
||||
tab.SetMargined(0, true)
|
||||
|
||||
newNode := makeNode(parent, title, 555, 600 + Config.counter)
|
||||
newNode := parent.makeNode(title, 555, 600 + Config.counter)
|
||||
newNode.uiTab = tab
|
||||
return newNode
|
||||
}
|
||||
|
|
26
structs.go
26
structs.go
|
@ -186,32 +186,6 @@ func (s GuiBox) Append(child ui.Control, x bool) {
|
|||
s.UiBox.Append(child, x)
|
||||
}
|
||||
|
||||
/*
|
||||
func (s GuiBox) InitTab(title string, custom func() ui.Control) *Node {
|
||||
if s.Window == nil {
|
||||
return nil
|
||||
}
|
||||
if s.Window.UiWindow == nil {
|
||||
return nil
|
||||
}
|
||||
|
||||
window := s.Window.UiWindow
|
||||
tab := ui.NewTab()
|
||||
window.SetChild(tab)
|
||||
window.SetMargined(true)
|
||||
|
||||
tab.Append(title, custom())
|
||||
tab.SetMargined(0, true)
|
||||
// tab.SetMargined(1, true)
|
||||
|
||||
s.Window.UiTab = tab
|
||||
if s.node == nil {
|
||||
log.Println("Fuck node = ", s.node)
|
||||
os.Exit(-1)
|
||||
}
|
||||
return s.node
|
||||
}
|
||||
*/
|
||||
|
||||
func (s *GuiBox) AddTab(title string, custom ui.Control) *ui.Tab {
|
||||
if s.Window == nil {
|
||||
|
|
16
window.go
16
window.go
|
@ -20,6 +20,7 @@ func initUI(name string, callback func(*GuiBox) *GuiBox) {
|
|||
box := node.box
|
||||
box = callback(box)
|
||||
window := box.Window
|
||||
node.window = window
|
||||
log.Println("StartNewWindow() box =", box)
|
||||
|
||||
window.UiWindow.Show()
|
||||
|
@ -271,6 +272,21 @@ func makeNode(parent *Node, title string, x int, y int) *Node {
|
|||
return &node
|
||||
}
|
||||
|
||||
func (parent *Node) makeNode(title string, x int, y int) *Node {
|
||||
var node Node
|
||||
node.Name = title
|
||||
node.Width = x
|
||||
node.Height = y
|
||||
|
||||
id := Config.prefix + strconv.Itoa(Config.counter)
|
||||
Config.counter += 1
|
||||
node.id = id
|
||||
|
||||
parent.Append(&node)
|
||||
node.parent = parent
|
||||
return &node
|
||||
}
|
||||
|
||||
func (n *Node) uiNewWindow(title string, x int, y int) {
|
||||
w := ui.NewWindow(title, x, y, false)
|
||||
w.SetBorderless(false)
|
||||
|
|
Loading…
Reference in New Issue