CNCGUI.ComboBoxEnum.Set C# (CSharp) Method

Set() private method

private Set ( EnumValue enumValue ) : void
enumValue EnumValue
return void
        internal void Set(EnumValue enumValue)
        {
            ignore_changes = true;
            Items.Clear();

            if (enumValue.Items == null || enumValue.Items.Count == 0)
            {
                if (enumValue.EnumType != null)
                {
                    if (enumValue.Items == null)
                        enumValue.Items = new Dictionary<int,string>();
                    else
                        enumValue.Items.Clear();

                    foreach (Enum x in Enum.GetValues(enumValue.EnumType))
                    {
                        int value = (int)Convert.ChangeType(x, typeof(int));
                        if(!enumValue.Items.ContainsKey(value))
                            enumValue.Items.Add(value, x.ToString());
                    }
                }
            }

            if (enumValue.Items != null && enumValue.Items.Count > 0)
            {
                int idx = -1;
                foreach (KeyValuePair<int,string> pair in enumValue.Items)
                {
                    idx++;
                    ComboBoxEnumItem li = new ComboBoxEnumItem(pair.Value, pair.Key);
                    Items.Add(li);
                    if (enumValue.ValueInt == pair.Key)
                        SelectedIndex = idx;
                }
            }
            ignore_changes = false;
        }

Same methods

ComboBoxEnum::Set ( Type type, Enum value ) : void