Example #1
0
        void SetTreeDataItem(ItemCollection parent, ThinNeo.SmartContract.Debug.StackItem item)
        {
            if (item == null)
            {
                TreeViewItem titem = new TreeViewItem();
                titem.Header = "<null>";
                parent.Add(titem);
                return;
            }
            {//type
                TreeViewItem titem = new TreeViewItem();
                titem.Header = "deftype:" + item.type;
                parent.Add(titem);
            }
            if (item.type != "Array" && item.type != "Struct")
            {
                {//value
                    TreeViewItem vitem = new TreeViewItem();
                    vitem.Header = "value:" + item.strvalue;
                    parent.Add(vitem);
                }
                if (item.type == "ByteArray")//asstr
                {
                    var bt = ThinNeo.Debug.DebugTool.HexString2Bytes(item.strvalue);
                    {
                        var          asstr = System.Text.Encoding.UTF8.GetString(bt);
                        TreeViewItem vitem = new TreeViewItem();
                        vitem.Header = "asStr:" + asstr;
                        parent.Add(vitem);
                    }
                    if (bt.Length <= 8)
                    {
                        System.Numerics.BigInteger num = new System.Numerics.BigInteger(bt);
                        TreeViewItem vitem             = new TreeViewItem();
                        vitem.Header = "asNum:" + num.ToString();
                        parent.Add(vitem);
                    }
                }
            }
            else
            {
                {//value
                    TreeViewItem vitem = new TreeViewItem();
                    vitem.Header = "subitems:" + item.subItems.Count;
                    parent.Add(vitem);
                    vitem.IsExpanded = true;
                    for (var i = 0; i < item.subItems.Count; i++)
                    {
                        TreeViewItem sitem = new TreeViewItem();
                        vitem.Items.Add(sitem);
                        sitem.Header     = "item(" + i + ")";
                        sitem.IsExpanded = true;

                        SetTreeDataItem(sitem.Items, item.subItems[i]);
                    }
                }
            }
        }
Example #2
0
 void SetTreeData(ThinNeo.SmartContract.Debug.StackItem item)
 {
     treeData.Items.Clear();
     SetTreeDataItem(treeData.Items, item);
 }