tree/debug.go

72 lines
1.1 KiB
Go

package tree
import (
"fmt"
"go.wit.com/log"
"go.wit.com/widget"
)
func ShowButtons() {
treeRoot.ShowButtons()
}
func (n *Node) ShowButtons() {
if n.WidgetType == widget.Button {
n.DumpWidget("Button:")
}
for _, child := range n.children {
child.ShowButtons()
}
}
func (n *Node) DumpWidget(pad string) {
s := n.GetProgName()
if s == "" {
s = n.CurrentS()
}
if s == "" {
s = n.String()
}
if s == "" {
s = n.ProgName()
}
if s == "" {
s = n.GetLabel()
}
if s == "" {
s = n.State.NewString
}
end := fmt.Sprintf("%d,%-9s .%s.", n.WidgetId, n.WidgetType, s)
log.Log(TREEWARN, "node:", pad, end)
}
var depth int = 0
func ListWidgets() {
treeRoot.ListWidgets()
}
func (n *Node) ListWidgets() {
if n == nil {
log.Log(TREEWARN, "ERRRORRRR: n == nil in ListWidgets()")
log.Log(TREEWARN, "ERRRORRRR: n == nil in ListWidgets()")
log.Log(TREEWARN, "ERRRORRRR: n == nil in ListWidgets()")
return
}
var pad string
for i := 0; i < depth; i++ {
pad = pad + " "
}
n.DumpWidget(pad)
for _, child := range n.children {
depth += 1
child.ListWidgets()
depth -= 1
}
return
}