public void Save(ArcticFoxConfiguration.Profile profile) { profile.Flags.IsEnabled = ProfileEnabledCheckBox.Checked; profile.Name = ProfileNameTextBox.Text; profile.Power = (ushort)(PowerUpDown.Value * 10); profile.PreheatType = PreheatTypeComboBox.GetSelectedItem <ArcticFoxConfiguration.PreheatType>(); if (profile.PreheatType == ArcticFoxConfiguration.PreheatType.Watts) { profile.PreheatPower = (ushort)(PreheatPowerUpDown.Value * 10); } else if (profile.PreheatType == ArcticFoxConfiguration.PreheatType.Percents) { profile.PreheatPower = (ushort)PreheatPowerUpDown.Value; } else if (profile.PreheatType == ArcticFoxConfiguration.PreheatType.Curve) { profile.SelectedCurve = (byte)PowerCurveComboBox.SelectedIndex; } profile.PreheatTime = (byte)(PreheatTimeUpDown.Value * 100); profile.PreheatDelay = (byte)PreheatDelayUpDown.Value; profile.Flags.IsCelcius = TemperatureTypeComboBox.GetSelectedItem <bool>(); profile.Temperature = (ushort)TemperatureUpDown.Value; profile.Flags.IsTemperatureDominant = TemperatureDominantCheckBox.Checked; var mode = ModeComboBox.GetSelectedItem <Mode>(); profile.Flags.Material = mode == Mode.TemperatureControl ? MaterialComboBox.GetSelectedItem <ArcticFoxConfiguration.Material>() : ArcticFoxConfiguration.Material.VariWatt; profile.TCR = (ushort)TCRUpDown.Value; profile.Resistance = (ushort)(ResistanceUpDown.Value * 1000); profile.Flags.IsResistanceLocked = ResistanceLockedCheckBox.Checked; }
public void Initialize([NotNull] ArcticFoxConfiguration configuration, int profileIndex) { if (configuration == null) { throw new ArgumentNullException("configuration"); } m_configuration = configuration; m_profile = configuration.General.Profiles[profileIndex]; ProfileEnabledCheckBox.Checked = m_profile.Flags.IsEnabled; ProfileNameTextBox.Text = m_profile.Name; PowerUpDown.Maximum = configuration.Info.MaxDevicePower / 10m; PowerUpDown.SetValue(m_profile.Power / 10m); var selectedPreheatType = PreheatTypeComboBox.SelectedItem as NamedItemContainer <ArcticFoxConfiguration.PreheatType>; if (selectedPreheatType != null && selectedPreheatType.Data == m_profile.PreheatType) { PreheatTypeComboBox_SelectedValueChanged(null, EventArgs.Empty); } else { PreheatTypeComboBox.SelectItem(m_profile.PreheatType); } PowerCurveComboBox.SelectItem(m_profile.SelectedCurve); PreheatTimeUpDown.SetValue(m_profile.PreheatTime / 100m); PreheatDelayUpDown.SetValue(m_profile.PreheatDelay); ResistanceLockedCheckBox_CheckedChanged(null, EventArgs.Empty); TemperatureTypeComboBox.SelectItem(m_profile.Flags.IsCelcius); TemperatureUpDown.SetValue(m_profile.Temperature); TemperatureDominantCheckBox.Checked = m_profile.Flags.IsTemperatureDominant; if (m_profile.Flags.Material == ArcticFoxConfiguration.Material.VariWatt) { MaterialComboBox.SelectedIndex = 0; ModeComboBox.SelectItem(Mode.Power); } else { MaterialComboBox.SelectItem(m_profile.Flags.Material); ModeComboBox.SelectItem(Mode.TemperatureControl); } TCRUpDown.SetValue(m_profile.TCR); ResistanceUpDown.SetValue(m_profile.Resistance / 1000m); ResistanceLockedCheckBox.Checked = m_profile.Flags.IsResistanceLocked; }