/// <summary> /// This is specific code for the Pipboy/Quickboy/Power armor color picker. /// </summary> /// <param name="colorDialog">This dialog opens when "Pick color" button has been clicked.</param> /// <param name="preview">A picture box whose BackColor property gets set.</param> public static void LinkColor(Button pickColor, Button resetColor, ColorDialog colorDialog, ColorPreview preview, ITweak <Color> tweak) { SetValueActions.Add(() => preview.BackColor = tweak.GetValue()); preview.BackColorChanged += (object sender, EventArgs e) => { tweak.SetValue(preview.BackColor); }; pickColor.Click += (object sender, EventArgs e) => { colorDialog.Color = tweak.GetValue(); if (colorDialog.ShowDialog() == DialogResult.OK) { preview.BackColor = colorDialog.Color; tweak.SetValue(colorDialog.Color); } }; resetColor.Click += (object sender, EventArgs e) => { tweak.ResetValue(); preview.BackColor = tweak.GetValue(); }; }
/// <summary> /// Commits changes to the resource list for the associated *.ini file. /// Use IniFiles.Save() to write *.ini file to disk. /// </summary> public void CommitToINI() { if (this.resourceList.Count > 0) { tweak.SetValue(ToString()); } else { tweak.ResetValue(); } }