private void InitVisualizers(JsonViewerTreeNode node) { if (!node.Initialized) { node.Initialized = true; JsonObject jsonObject = node.JsonObject; foreach (ICustomTextProvider textVis in _pluginsManager.TextVisualizers) { if (textVis.CanVisualize(jsonObject)) { node.TextVisualizers.Add(textVis); } } node.RefreshText(); foreach (IJsonVisualizer visualizer in _pluginsManager.Visualizers) { if (visualizer.CanVisualize(jsonObject)) { node.Visualizers.Add(visualizer); } } } }
private void mnuCopyValue_Click(object sender, EventArgs e) { JsonViewerTreeNode node = (JsonViewerTreeNode)tvJson.SelectedNode; if (node != null && node.JsonObject.Value != null) { Clipboard.SetText(node.JsonObject.Value.ToString()); } }
private void mnuCopy_Click(object sender, EventArgs e) { JsonViewerTreeNode node = (JsonViewerTreeNode)tvJson.SelectedNode; if (node != null) { Clipboard.SetText(node.Text); } }
private void AddNode(TreeNodeCollection nodes, JsonObject jsonObject) { JsonViewerTreeNode newNode = new JsonViewerTreeNode(jsonObject); nodes.Add(newNode); newNode.Text = jsonObject.Text; newNode.Tag = jsonObject; newNode.ImageIndex = (int)jsonObject.JsonType; newNode.SelectedImageIndex = newNode.ImageIndex; foreach (JsonObject field in jsonObject.Fields) { AddNode(newNode.Nodes, field); } }
private void btnShow_Click(object sender, EventArgs e) { string json = GetJson(txtJson); try { tvJson.BeginUpdate(); try { tvJson.Nodes.Clear(); if (!String.IsNullOrEmpty(json)) { JsonObjectTree tree = JsonObjectTree.Parse(json); AddNode(tvJson.Nodes, tree.Root); JsonViewerTreeNode node = null; if (tvJson.Nodes.Count > 0) { node = (JsonViewerTreeNode)tvJson.Nodes[0]; } InitVisualizers(node); node.Expand(); tvJson.SelectedNode = node; } } finally { tvJson.EndUpdate(); } } catch (JsonParseError ex) { this.ShowMessage(ex); //GetParseErrorDetails(ex); } catch (Exception ex) { this.ShowMessage(ex); } }
private void InitVisualizers(JsonViewerTreeNode node) { if (!node.Initialized) { node.Initialized = true; JsonObject jsonObject = node.JsonObject; foreach (ICustomTextProvider textVis in _pluginsManager.TextVisualizers) { if (textVis.CanVisualize(jsonObject)) node.TextVisualizers.Add(textVis); } node.RefreshText(); foreach (IJsonVisualizer visualizer in _pluginsManager.Visualizers) { if (visualizer.CanVisualize(jsonObject)) node.Visualizers.Add(visualizer); } } }