/// <summary> /// Creates a proper item for a tree view /// </summary> /// <param name="key">Key if inside an object</param> /// <param name="index">Index if inside an array</param> /// <param name="value">JSON value this item represents</param> /// <param name="treeView">Tree view reference</param> public static StringTreeViewItem CreateJsonValueItem( string key, int index, JsonValue value, JsonTreeView treeView ) { if (value.IsJsonObject) { return new ObjectTreeViewItem(treeView, value.AsJsonObject) { Key = key, Index = index } } ; else if (value.IsJsonArray) { return new ArrayTreeViewItem(treeView, value.AsJsonArray) { Key = key, Index = index } } ; else if (value.IsNull) { return new NullTreeViewItem(treeView) { Key = key, Index = index } } ; else if (value.IsBoolean) { return new BoolTreeViewItem(treeView, value.AsBoolean) { Key = key, Index = index } } ; else if (value.IsNumber) { return new NumberTreeViewItem(treeView, value.AsNumber) { Key = key, Index = index } } ; else { return new StringTreeViewItem(treeView, value.AsString) { Key = key, Index = index } }; }
public ObjectTreeViewItem(JsonTreeView treeView, JsonObject objectValue) : base(treeView, null) { foreach (var pair in objectValue) { AddChild(JsonTreeViewUtils.CreateJsonValueItem(pair.Key, 0, pair.Value, treeView)); } RepairChildStructure(); }
public ArrayTreeViewItem(JsonTreeView treeView, JsonArray arrayValue) : base(treeView, null) { for (int i = 0; i < arrayValue.Count; i++) { AddChild(JsonTreeViewUtils.CreateJsonValueItem(null, i, arrayValue[i], treeView)); } RepairChildStructure(); }
public JsonEditor() { treeViewState = new TreeViewState(); jsonTreeView = new JsonTreeView(treeViewState); jsonTreeView.ExpandAll(); jsonTreeView.OnChange += () => { OnChange?.Invoke(); }; }
public StringTreeViewItem(JsonTreeView treeView, string initialValue) : base() { this.treeView = treeView; this.StringValue = initialValue; id = treeView.NextId(); }
public AddTreeViewItem(JsonTreeView treeView) : base(treeView, null) { }