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; }
public void UpdatePowerCurveNames(ArcticFoxConfiguration.PowerCurve[] curves) { var selectedValue = PowerCurveComboBox.GetSelectedItem <byte>(); PowerCurveComboBox.BeginUpdate(); for (byte i = 0; i < curves.Length; i++) { // 4 : Default Non-TFR materials, Ni, Ti, SS, TCR var item = PowerCurveComboBox.Items[i] as NamedItemContainer <byte>; if (item == null) { continue; } PowerCurveComboBox.Items.RemoveAt(i); PowerCurveComboBox.Items.Insert(i, new NamedItemContainer <byte>(curves[i].Name, i)); } PowerCurveComboBox.EndUpdate(); PowerCurveComboBox.SelectItem(selectedValue); }
private void InitializeControls() { ProfileNameTextBox.TextChanged += (s, e) => { var position = ProfileNameTextBox.SelectionStart; var input = ProfileNameTextBox.Text; var matches = s_blackList.Matches(input); foreach (Match match in matches) { if (!match.Success) { continue; } input = input.Replace(match.Value, string.Empty); } ProfileNameTextBox.Text = input; ProfileNameTextBox.SelectionStart = position; }; PowerUpDown.Minimum = MinimumWatts; PowerUpDown.Maximum = 60; PreheatTypeComboBox.Fill(PredefinedData.ArcticFox.Profile.PreheatTypes); PreheatTypeComboBox.SelectedValueChanged += PreheatTypeComboBox_SelectedValueChanged; PowerCurveComboBox.Fill(PredefinedData.ArcticFox.Profile.PowerCurves); TemperatureTypeComboBox.Fill(PredefinedData.ArcticFox.Profile.TemperatureTypes); TemperatureTypeComboBox.SelectedValueChanged += (s, e) => { var isCelcius = TemperatureTypeComboBox.GetSelectedItem <bool>(); if (isCelcius) { TemperatureUpDown.Minimum = 100; TemperatureUpDown.Maximum = 315; } else { TemperatureUpDown.Minimum = 200; TemperatureUpDown.Maximum = 600; } }; ModeComboBox.Items.Clear(); ModeComboBox.Items.AddRange(new object[] { new NamedItemContainer <Mode>(LocalizableStrings.VapeModePower, Mode.Power), new NamedItemContainer <Mode>(LocalizableStrings.VapeModeTempControl, Mode.TemperatureControl) }); ModeComboBox.SelectedValueChanged += (s, e) => { var isTemperatureSensing = ModeComboBox.GetSelectedItem <Mode>() == Mode.TemperatureControl; SetupTempControlButton.Visible = isTemperatureSensing; MaterialComboBox.Visible = isTemperatureSensing; MaterialLabel.Visible = isTemperatureSensing; ResistanceLabel.Visible = isTemperatureSensing; ResistanceUpDown.Visible = isTemperatureSensing; ResistanceLockedCheckBox.Visible = isTemperatureSensing; OhmLabel.Visible = isTemperatureSensing; TemperatureLabel.Visible = isTemperatureSensing; TemperatureUpDown.Visible = isTemperatureSensing; TemperatureTypeComboBox.Visible = isTemperatureSensing; TemperatureDominantCheckBox.Visible = isTemperatureSensing; var selectedMaterial = MaterialComboBox.GetSelectedItem <ArcticFoxConfiguration.Material>(); TCRUpDown.Visible = isTemperatureSensing && selectedMaterial == ArcticFoxConfiguration.Material.TCR; TFRCurveEditButton.Visible = isTemperatureSensing && (int)selectedMaterial >= (int)ArcticFoxConfiguration.Material.TFR1 && (int)selectedMaterial <= (int)ArcticFoxConfiguration.Material.TFR8; }; MaterialComboBox.Fill(PredefinedData.ArcticFox.Profile.Materials); MaterialComboBox.SelectedValueChanged += (s, e) => { if (MaterialComboBox.SelectedItem == null) { return; } var selectedMaterial = MaterialComboBox.GetSelectedItem <ArcticFoxConfiguration.Material>(); TCRUpDown.Visible = selectedMaterial == ArcticFoxConfiguration.Material.TCR; TFRCurveEditButton.Visible = (int)selectedMaterial >= (int)ArcticFoxConfiguration.Material.TFR1 && (int)selectedMaterial <= (int)ArcticFoxConfiguration.Material.TFR8; }; PowerCurveEditButton.Click += PowerCurveEditButton_Click; TFRCurveEditButton.Click += TFRCurveEditButton_Click; SetupTempControlButton.Click += SetupTempControlButton_Click; }