public void AddNewNode(Panel p, JSONNode n) { JSONString s = new JSONString("type a string"); string key = n.Add(s); TreeNode t = JSONFormUtil.FindTreeNode(tview_object.TopNode, n); TreeNode newTreenode = JSONFormUtil.TreeNodeMake(s); t.Nodes.Add(newTreenode); CreateGroupChild(s, key, p, p.Height - p.Margin.Bottom, (n is JSONObject)?true:false); PanelReSort(p); return; }
public void AddTemplateNodeToBase(JSONNode n) { Panel target; if (nowSelectedNode == null) { target = (Panel)MainPanel.Controls[2]; } else { target = (Panel)nowSelectedNode.Controls[nowSelectedNode.Controls.Count - 1]; } JSONNode node = (JSONNode)target.Tag; TreeNode t = JSONFormUtil.FindTreeNode(tview_object.TopNode, node); string key = node.Add(n); TreeNode newTreenode = JSONFormUtil.TreeNodeMake(n); t.Nodes.Add(newTreenode); CreateGroupChild(n, key, target, target.Height, node.type == JSONType.Object ? true : false); PanelReSort(target); }
private void pasteToolStripMenuItem_Click(object sender, EventArgs e) { if (copyTarget == null) { return; } Panel target; if (nowSelectedNode == null) { target = (Panel)MainPanel.Controls[2]; } else { JSONNode tmpnode = (JSONNode)nowSelectedNode.Tag; if (tmpnode is JSONObject || tmpnode is JSONArray) { target = (Panel)nowSelectedNode.Controls[nowSelectedNode.Controls.Count - 1]; } else { MessageBox.Show("선택된 대상은 오브젝트나 배열이 아닙니다"); return; } } JSONNode node = (JSONNode)target.Tag; if (copyTarget.type != JSONType.Array && copyTarget.type != JSONType.Object) { JSONNode copied = copyTarget.CloneNode(); TreeNode t = JSONFormUtil.FindTreeNode(tview_object.TopNode, node); string key = node.Add(copied); TreeNode newTreenode = new TreeNode(); newTreenode.Tag = copyTarget; newTreenode.Text = copyTarget.type.GetTypeString(); t.Nodes.Add(newTreenode); CreateGroupChild(copied, key, target, target.Height, node.type == JSONType.Object ? true : false); PanelReSort(target); } else { if (JSONParseThread.Parsing) { MessageBox.Show("다른 파싱이 진행중입니다"); return; } string parseString = copyTarget.Stringify(); JSON.Parse((n) => { JSONNode copied = n; TreeNode t = JSONFormUtil.FindTreeNode(tview_object.TopNode, node); string key = node.Add(copied); TreeNode newTreenode = JSONFormUtil.TreeNodeMake(copied); t.Nodes.Add(newTreenode); CreateGroupChild(copied, key, target, target.Height, node.type == JSONType.Object ? true : false); PanelReSort(target); return(n); }, JSONExceptionCatch, parseString); } }