Bevisuali.UX.VariablesInspectorVariable.SetVariable C# (CSharp) Method

SetVariable() public method

public SetVariable ( FAI.Bayesian.RandomVariable variable, string>.IDictionary abbreviations ) : void
variable FAI.Bayesian.RandomVariable
abbreviations string>.IDictionary
return void
        public void SetVariable(FRandomVariable variable, IDictionary<string,string> abbreviations)
        {
            _variable = variable;

            // Short name.
            char letter;
            string subscript;
            Utils.ParseVariableName(abbreviations[variable.Name], out letter, out subscript);

            xNameLetter.Text = letter.ToString();
            xNameSubscript.Text = subscript;

            // Long name.
            xFullName.Text = variable.Name;

            // Space.
            xSpace.Children.Clear();
            foreach (var value in variable.Space.Values)
            {
                ObservationNameValue onv = new ObservationNameValue();
                onv.VariableName = "";
                onv.VariableValueLabel = variable.Space.GetLabel(value);
                onv.VariableValueColor = variable.Space.GetColor(value);
                onv.HorizontalAlignment = System.Windows.HorizontalAlignment.Left;

                xSpace.Children.Add(onv);
            }
        }

Usage Example

        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);
            }
        }
All Usage Examples Of Bevisuali.UX.VariablesInspectorVariable::SetVariable