protected override bool OnSave(object sender) { var sensorSettings = new TemperatureProbeSettings(); sensorSettings.name = (string)settings["Name"].setting; if (sensorSettings.name == "Enter name") { MessageBox.Show("Invalid probe name"); return(false); } string channelString = (string)settings["Input Channel"].setting; if (channelString.IsEmpty()) { MessageBox.Show("Please select an channel"); return(false); } sensorSettings.channel = ParseIndividualControl(channelString); Sensors.TemperatureProbes.UpdateSensor(temperatureProbeName, sensorSettings); temperatureProbeName = sensorSettings.name; return(true); }
public TemperatureProbeSettingsDialog(TemperatureProbeSettings settings, Window parent) : base(settings.name, settings.name.IsNotEmpty(), parent) { temperatureProbeName = settings.name; var t = new SettingsTextBox("Name"); t.textBox.text = temperatureProbeName.IsNotEmpty() ? temperatureProbeName : "Enter name"; t.textBox.TextChangedEvent += (sender, args) => { if (args.text.IsEmpty()) { args.keepText = false; } else if (Sensors.TemperatureProbes.GadgetNameExists(args.text)) { MessageBox.Show("Probe name already exists"); args.keepText = false; } }; AddSetting(t); var c = new SettingsComboBox("Input Channel"); if (temperatureProbeName.IsNotEmpty()) { var ic = settings.channel; c.combo.comboList.Add(string.Format("Current: {0}.i{1}", ic.Group, ic.Individual)); c.combo.activeIndex = 0; } c.combo.nonActiveMessage = "Please select channel"; c.combo.comboList.AddRange(Driver.AnalogInput.GetAllAvaiableChannels()); AddSetting(c); DrawSettings(); }