72 lines
1.1 KiB
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
|
|
}
|