120 lines
2.7 KiB
Go
120 lines
2.7 KiB
Go
package gui
|
|
|
|
import (
|
|
"log"
|
|
)
|
|
|
|
var names = make([]string, 100)
|
|
var nodeNames = make([]string, 100)
|
|
|
|
var bugWin *Node
|
|
/*
|
|
Creates a window helpful for debugging this package
|
|
*/
|
|
func DebugWindow() {
|
|
Config.Title = "git.wit.org/wit/gui debug fixme"
|
|
Config.Width = 300
|
|
Config.Height = 200
|
|
Config.Exit = StandardClose
|
|
bugWin = NewWindow()
|
|
bugWin.DebugTab("WIT GUI Debug Tab")
|
|
}
|
|
|
|
// this function is used by the examples to add a tab
|
|
// dynamically to the bugWin node
|
|
// TODO: make this smarter once this uses toolkit/
|
|
func DebugTab() {
|
|
if (bugWin == nil) {
|
|
log.Println("Not sure what window to add this to? Use node.DebugTab() instead")
|
|
return;
|
|
}
|
|
bugWin.DebugTab("does this work?")
|
|
}
|
|
|
|
func (n *Node) DebugTab(title string) *Node {
|
|
var newN, gog, g1, g2, g3, dd *Node
|
|
|
|
// time.Sleep(1 * time.Second)
|
|
newN = n.NewTab(title)
|
|
newN.Dump()
|
|
|
|
gog = newN.NewGroup("GOLANG")
|
|
gog.NewLabel("go language")
|
|
gog.AddButton("GO Language Debug", func (*Node) {
|
|
GolangDebugWindow()
|
|
})
|
|
|
|
gog.NewLabel("wit/gui package")
|
|
gog.AddButton("WIT/GUI Package Debug", func (*Node) {
|
|
Config.Width = 640
|
|
Config.Height = 480
|
|
Queue(DebugWindow)
|
|
})
|
|
gog.AddButton("Demo wit/gui", func (*Node) {
|
|
DemoWindow()
|
|
})
|
|
gog.AddButton("Demo toolkit andlabs/ui", func (*Node) {
|
|
DemoToolkitWindow()
|
|
})
|
|
|
|
g1 = newN.NewGroup("Current Windows")
|
|
dd = g1.NewDropdown("Window Dropdown")
|
|
log.Println("dd =", dd)
|
|
|
|
var dump = false
|
|
for _, child := range Config.master.children {
|
|
log.Println("\t\t", child.id, child.Width, child.Height, child.Name)
|
|
if (child.parent != nil) {
|
|
log.Println("\t\t\tparent =",child.parent.id)
|
|
} else {
|
|
log.Println("\t\t\tno parent")
|
|
panic("no parent")
|
|
}
|
|
if (dump == true) {
|
|
child.Dump()
|
|
}
|
|
dd.AddDropdown(child.Name)
|
|
}
|
|
dd.SetDropdown(0)
|
|
|
|
g2 = newN.NewGroup("Debug Window")
|
|
g2.AddButton("SetMargined(tab)", func (*Node) {
|
|
log.Println("\tSTART")
|
|
name := dd.GetText()
|
|
log.Println("\tENDed with", name)
|
|
// gw.UiTab.SetMargined(*gw.TabNumber, true)
|
|
})
|
|
g2.AddButton("Hide(tab)", func (*Node) {
|
|
// gw.UiTab.Hide()
|
|
})
|
|
g2.AddButton("Show(tab)", func (*Node) {
|
|
// gw.UiTab.Show()
|
|
})
|
|
g2.AddButton("Delete(tab)", func (*Node) {
|
|
// gw.UiTab.Delete(*gw.TabNumber)
|
|
})
|
|
g2.AddButton("change Title", func (*Node) {
|
|
// mainWindow.SetText("hello world")
|
|
})
|
|
|
|
/////////////////////////////////////////////////////
|
|
g3 = newN.NewGroup("Node Debug")
|
|
|
|
g3.AddButton("Node.Dump()", func (n *Node) {
|
|
n.Dump()
|
|
})
|
|
g3.AddButton("Node.ListChildren(false)", func (n *Node) {
|
|
n.ListChildren(false)
|
|
})
|
|
g3.AddButton("Node.ListChildren(true)", func (n *Node) {
|
|
n.ListChildren(true)
|
|
})
|
|
g3.AddButton("AddDebugTab()", func (n *Node) {
|
|
if (bugWin != nil) {
|
|
bugWin.DebugTab("added this DebugTab")
|
|
}
|
|
})
|
|
|
|
return newN
|
|
}
|