public void SetVariables(IList <FRandomVariable> variables, IDictionary <string, string> abbreviations) { var uichildren = xVariableList.Children; int i = 0; foreach (var rv in variables) { if (i >= uichildren.Count) { VariablesInspectorVariable niv = new VariablesInspectorVariable(); niv.SetVariable(rv, abbreviations); xVariableList.Children.Add(niv); } else { FRandomVariable rv_i = (uichildren[i] as VariablesInspectorVariable).GetVariable(); if (rv_i != rv) { VariablesInspectorVariable niv_rv = uichildren .OfType <VariablesInspectorVariable>() .Where(niv => niv.GetVariable() == rv) .FirstOrDefault(); if (niv_rv != null) { uichildren.Remove(niv_rv); } else { niv_rv = new VariablesInspectorVariable(); niv_rv.SetVariable(rv, abbreviations); } uichildren.Insert(i, niv_rv); } } ++i; } if (uichildren.Count >= variables.Count) { uichildren.RemoveRange(variables.Count, uichildren.Count - variables.Count); } }
public void SetVariables(IList<FRandomVariable> variables, IDictionary<string,string> abbreviations) { var uichildren = xVariableList.Children; int i = 0; foreach (var rv in variables) { if (i >= uichildren.Count) { VariablesInspectorVariable niv = new VariablesInspectorVariable(); niv.SetVariable(rv, abbreviations); xVariableList.Children.Add(niv); } else { FRandomVariable rv_i = (uichildren[i] as VariablesInspectorVariable).GetVariable(); if (rv_i != rv) { VariablesInspectorVariable niv_rv = uichildren .OfType<VariablesInspectorVariable>() .Where(niv => niv.GetVariable() == rv) .FirstOrDefault(); if (niv_rv != null) { uichildren.Remove(niv_rv); } else { niv_rv = new VariablesInspectorVariable(); niv_rv.SetVariable(rv, abbreviations); } uichildren.Insert(i, niv_rv); } } ++i; } if (uichildren.Count >= variables.Count) { uichildren.RemoveRange(variables.Count, uichildren.Count - variables.Count); } }