public override void OnTabOpen()
        {
            ConfigValues  = Owner.Core.Configs.GetEditableValues();
            SelectedValue = null;

            Owner.Form.CustomValuesList.Clear();
            foreach (var v in ConfigValues)
            {
                var lstItm = Owner.Form.CustomValuesList.Items.Add(v.ToString());
                lstItm.Tag = v;
            }
            ShowUi(false);
        }
        public override void OnEntityChange()
        {
            if (Owner.Form.CustomValuesList.SelectedItems.Count == 0)
            {
                ShowUi(false);
                return;
            }
            // save current selection changes
            SaveSelected();

            // pickup new selection
            SelectedValue = Owner.Form.CustomValuesList.SelectedItems[0].Tag as ConfigValue.EditebleConfigValue;

            Owner.Form.CustomValueBox.Text     = SelectedValue.Value?.ToString();
            Owner.Form.CustomValueKeyBox.Text  = SelectedValue.Key.ToString();
            Owner.Form.CustomValueTypeBox.Text = SelectedValue.ValueType.ToString();
            // handle flags by other way!!!!!!!!!
            //Owner.Form.CustomValueFlagsBox.Text = SelectedValue.Value.ToString();
            Owner.Form.CustomValueDisplayNameBox.Text = SelectedValue.Name;
            Owner.Form.CustomValueDescriptionBox.Text = SelectedValue.Description;

            ShowUi(true);
        }
 public CustomSettingsTabController(EditorController owner)
 {
     Owner         = owner;
     ConfigValues  = new List <ConfigValue.EditebleConfigValue>();
     SelectedValue = null;
 }