protected override bool OnSave(object sender) { var sensorSettings = new GenericSensorSettings(); 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); sensorCollection.UpdateSensor(sensorName, sensorSettings); sensorName = sensorSettings.name; return(true); }
public SensorSettingsDialog( GenericSensorSettings settings, GenericSensorCollection sensorCollection, GenericInputBase inputDriver, Window parent ) : base(settings.name, settings.name.IsNotEmpty(), parent) { sensorName = settings.name; this.sensorCollection = sensorCollection; var t = new SettingsTextBox("Name"); t.textBox.text = sensorName.IsNotEmpty() ? sensorName : "Enter name"; t.textBox.TextChangedEvent += (sender, args) => { if (args.text.IsEmpty()) { args.keepText = false; } else if (Sensors.PhProbes.GadgetNameExists(args.text)) { MessageBox.Show("Probe name already exists"); args.keepText = false; } }; AddSetting(t); var c = new SettingsComboBox("Input Channel"); if (sensorName.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(inputDriver.GetAllAvaiableChannels()); AddSetting(c); DrawSettings(); }
public void UpdateSensor(string name, GenericSensorSettings settings) { UpdateGadget(name, settings); }
public void CreateSensor(GenericSensorSettings settings) { CreateGadget(settings, true); }
public GenericSensor(GenericSensorSettings settings) : base(settings) { }