public void ApplySettings(UIState newUiState) { for (int outputNumber = 0; outputNumber < 6; outputNumber++) { if (!uiState.Outputs[outputNumber].Equals(newUiState.Outputs[outputNumber])) { komaHub.configureOutput(outputNumber, newUiState.Outputs[outputNumber]); } } this.uiState = newUiState; Update(uiState); }
private void LoadStateFromUI(UIState uiState) { ComboBox[] outputTypes = { output1Type, output2Type, output3Type, output4Type, output5Type, output6Type }; TextBox[] outputNames = { output1Name, output2Name, output3Name, output4Name, output5Name, output6Name }; ComboBox[] fuseCurrents = { output1Fuse, output2Fuse, output3Fuse, output4Fuse, output5Fuse, output6Fuse }; for (int i = 0; i < 6; i++) { outputNames[i].Text = uiState.Outputs[i].name; outputTypes[i].SelectedIndex = (int)uiState.Outputs[i].type; fuseCurrents[i].SelectedIndex = (int)uiState.Outputs[i].fuseCurrent; } }
private void buttonOk_Click(object sender, EventArgs e) { try { UIState uiState = new UIState(); ComboBox[] outputTypes = { output1Type, output2Type, output3Type, output4Type, output5Type, output6Type }; TextBox[] outputNames = { output1Name, output2Name, output3Name, output4Name, output5Name, output6Name }; ComboBox[] fuseCurrents = { output1Fuse, output2Fuse, output3Fuse, output4Fuse, output5Fuse, output6Fuse }; float[] fuseValues = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 }; for (int i = 0; i < 6; i++) { uiState.Outputs[i].name = outputNames[i].Text; uiState.Outputs[i].fuseCurrent = fuseValues[fuseCurrents[i].SelectedIndex]; uiState.Outputs[i].type = convertType(outputTypes[i].GetItemText(outputTypes[i].SelectedItem)); } this.settingsReceiver.ApplySettings(uiState); } catch (Exception) { MessageBox.Show("Value must be a number!"); } Close(); }
public void Update(UIState uiState) { SendMessage(this.Handle, WM_SETREDRAW, false, 0); this.groupBoxRelayControl.Enabled = Connected; this.groupBoxSensors.Enabled = true; UpdateRelayUI(0, this.output1Number, this.output1Name, this.output1Current, this.pwmDuty1, this.buttonRelay1); UpdateRelayUI(1, this.output2Number, this.output2Name, this.output2Current, this.pwmDuty2, this.buttonRelay2); UpdateRelayUI(2, this.output3Number, this.output3Name, this.output3Current, this.pwmDuty3, this.buttonRelay3); UpdateRelayUI(3, this.output4Number, this.output4Name, this.output4Current, this.pwmDuty4, this.buttonRelay4); UpdateRelayUI(4, this.output5Number, this.output5Name, this.output5Current, this.pwmDuty5, this.buttonRelay5); UpdateRelayUI(5, this.output6Number, this.output6Name, this.output6Current, this.pwmDuty6, this.buttonRelay6); if (uiState.Status.pthPresent) { this.labelTemperature.Text = string.Format("{0:F1} °C", uiState.Status.temperature); } this.labelTemperature.Enabled = uiState.Status.pthPresent; this.labelTemperatureTitle.Enabled = uiState.Status.pthPresent; if (uiState.Status.pthPresent) { this.labelHumidity.Text = string.Format("{0:F1} %", uiState.Status.humidity); } this.labelHumidity.Enabled = uiState.Status.pthPresent; this.labelHumidityTitle.Enabled = uiState.Status.pthPresent; if (uiState.Status.pthPresent) { this.labelPressure.Text = string.Format("{0:F0} hPa", Math.Round(uiState.Status.pressure)); } this.labelPressure.Enabled = uiState.Status.pthPresent; this.labelPressureTitle.Enabled = uiState.Status.pthPresent; if (uiState.Status.pthPresent) { this.labelDewpoint.Text = string.Format("{0:F1} °C", Math.Round(uiState.Status.dewpoint)); } this.labelDewpoint.Enabled = uiState.Status.pthPresent; this.labelDewpointTitle.Enabled = uiState.Status.pthPresent; if (uiState.Status.numberOfExternalTemperatures > 0) { this.labelExternalTemperature.Text = string.Format("{0:F1} °C", uiState.Status.externalTemperatures[0]); } this.labelExternalTemperature.Enabled = uiState.Status.numberOfExternalTemperatures > 0; this.labelExternalTemperatureTitle.Enabled = uiState.Status.numberOfExternalTemperatures > 0; if (uiState.Status.numberOfExternalTemperatures > 1) { this.labelExternalTemperature2.Text = string.Format("{0:F1} °C", uiState.Status.externalTemperatures[1]); } this.labelExternalTemperature2.Enabled = uiState.Status.numberOfExternalTemperatures > 1; this.labelExternalTemperature2Title.Enabled = uiState.Status.numberOfExternalTemperatures > 1; if (uiState.Status.skyTemperaturePresent) { this.labelSkyTemperature.Text = string.Format("{0:F1} °C", uiState.Status.skyTemperature); } this.labelSkyTemperature.Enabled = uiState.Status.skyTemperaturePresent; this.labelSkyTemperatureTitle.Enabled = uiState.Status.skyTemperaturePresent; if (uiState.Status.skyTemperaturePresent) { this.labelSkyTemperatureDelta.Text = string.Format("{0:F1} °C", uiState.Status.skyTemperature - uiState.Status.skyTemperatureAmbient); } this.labelSkyTemperatureDelta.Enabled = uiState.Status.skyTemperaturePresent; this.labelSkyTemperatureDeltaTitle.Enabled = uiState.Status.skyTemperaturePresent; if (uiState.Status.skyQualityPresent) { this.labelSQM.Text = string.Format("{0:F1} mag/as²", uiState.Status.skyQuality); this.sqmToolTip.SetToolTip(this.labelSQM, string.Format("{0:F1} Hz", uiState.Status.skyQualityFreq)); } this.labelSQM.Enabled = uiState.Status.skyQualityPresent; this.labelSQMTitle.Enabled = uiState.Status.skyQualityPresent; this.labelInputVoltage.Text = string.Format("{0:F1} V", uiState.Status.inputVoltage); this.labelInputVoltage.ForeColor = uiState.Status.inputVoltage < 12.0 || uiState.Status.inputVoltage >= 14.0 ? Color.Red : Color.Black; this.labelStatusText.Text = StatusText; SendMessage(this.Handle, WM_SETREDRAW, true, 0); this.Refresh(); }