示例#1
0
        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);
                    }
                }
            }
        }
示例#2
0
        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());
            }
        }
示例#3
0
        private void mnuCopy_Click(object sender, EventArgs e)
        {
            JsonViewerTreeNode node = (JsonViewerTreeNode)tvJson.SelectedNode;

            if (node != null)
            {
                Clipboard.SetText(node.Text);
            }
        }
示例#4
0
        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);
            }
        }
示例#5
0
        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);
            }
        }
示例#6
0
        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);
                }
            }
        }
示例#7
0
        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);
            }
        }