From fbf62cb2a897d9b45223b97e25416285a194cf88 Mon Sep 17 00:00:00 2001 From: skanehira Date: Sat, 2 Nov 2019 16:27:27 +0900 Subject: [PATCH] make NewRootTreeNode to create new root tree node --- gui/tree.go | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/gui/tree.go b/gui/tree.go index 1f48636..d69fd87 100644 --- a/gui/tree.go +++ b/gui/tree.go @@ -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 +}