Bevisuali.UX.VariablesInspector.SetVariables C# (CSharp) Method

SetVariables() public method

public SetVariables ( IList variables, string>.IDictionary abbreviations ) : void
variables IList
abbreviations string>.IDictionary
return void
        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);
            }
        }