Changeset 17439 for branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/MultiCheckedOperatorConverter.cs
- Timestamp:
- 02/17/20 15:13:17 (4 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/3026_IntegrationIntoSymSpace/HeuristicLab.JsonInterface/Converters/MultiCheckedOperatorConverter.cs
r17433 r17439 16 16 17 17 dynamic val = item as dynamic; 18 foreach (var op in val.Operators) 19 val.Operators.SetItemCheckedState(op, GetOperatorState(op.Name, data)); 18 foreach (var op in val.Operators) { 19 IJsonItem childItem = GetChildItem(op.Name, data); 20 if(childItem != null) { 21 if(childItem.Value is bool b) { 22 val.Operators.SetItemCheckedState(op, b); 23 } 24 root.Inject((IItem)op, childItem, root); 25 } 26 } 20 27 } 21 28 … … 24 31 dynamic val = value as dynamic; 25 32 foreach (var op in val.Operators) { 26 item.AddChildren(new BoolJsonItem() {33 IJsonItem operatorItem = new BoolJsonItem() { 27 34 Name = op.Name, 28 35 Description = op.Description, 29 36 Value = val.Operators.ItemChecked(op), 30 37 Range = new bool[] { false, true } 31 }); 38 }; 39 IJsonItem c = root.Extract((IItem)op, root); 40 if(c != null && c.Children != null) 41 operatorItem.AddChildren(c.Children); 42 item.AddChildren(operatorItem); 32 43 } 33 44 return item; … … 42 53 return false; 43 54 } 55 56 private IJsonItem GetChildItem(string name, IJsonItem parent) { 57 foreach(var c in parent.Children) { 58 if (c.Name == name) return c; 59 } 60 return null; 61 } 44 62 #endregion 45 63 }
Note: See TracChangeset
for help on using the changeset viewer.