make NewRootTreeNode to create new root tree node

develop
skanehira 5 years ago
parent 84fb13d075
commit fbf62cb2a8

@ -27,18 +27,8 @@ func NewTree() *Tree {
func (t *Tree) UpdateView(g *Gui, i interface{}) {
g.App.QueueUpdateDraw(func() {
r := reflect.ValueOf(i)
var root *tview.TreeNode
switch r.Kind() {
case reflect.Map:
root = tview.NewTreeNode("{object}").SetReference(Reference{JSONType: Object})
case reflect.Slice:
root = tview.NewTreeNode("{array}").SetReference(Reference{JSONType: Array})
default:
root = tview.NewTreeNode("{value}").SetReference(Reference{JSONType: Key})
}
root := NewRootTreeNode(i)
root.SetChildren(t.AddNode(i))
t.SetRoot(root).SetCurrentNode(root)
@ -176,3 +166,18 @@ func parseValueType(text string) ValueType {
log.Println(String.String())
return String
}
func NewRootTreeNode(i interface{}) *tview.TreeNode {
r := reflect.ValueOf(i)
var root *tview.TreeNode
switch r.Kind() {
case reflect.Map:
root = tview.NewTreeNode("{object}").SetReference(Reference{JSONType: Object})
case reflect.Slice:
root = tview.NewTreeNode("{array}").SetReference(Reference{JSONType: Array})
default:
root = tview.NewTreeNode("{value}").SetReference(Reference{JSONType: Key})
}
return root
}

Loading…
Cancel
Save