private void InitBasicSettings(ASLSettings settings) { foreach (var item in _basic_settings) { string name = item.Key.ToLower(); CheckBox checkbox = item.Value; if (settings.IsBasicSettingPresent(name)) { ASLSetting setting = settings.BasicSettings[name]; checkbox.Enabled = true; checkbox.Tag = setting; var value = setting.Value; if (_basic_settings_state.ContainsKey(name)) { value = _basic_settings_state[name]; } checkbox.Checked = value; setting.Value = value; } else { checkbox.Tag = null; checkbox.Enabled = false; checkbox.Checked = false; } } }
// Custom Setting checked/unchecked (only after initially building the tree) private void settingsTree_AfterCheck(object sender, TreeViewEventArgs e) { // Update value in the ASLSetting object, which also changes it in the ASL script ASLSetting setting = (ASLSetting)e.Node.Tag; setting.Value = e.Node.Checked; _custom_settings_state[setting.Id] = setting.Value; UpdateGrayedOut(e.Node); }