protected void OnComboChanged(object sender, ComboBoxChangedEventArgs e) { int newIdx = testIdx; if (testIdx != -1) { if (!tests[testIdx].InProcedure) { var parent = Toplevel as Window; var ms = new TouchDialog( "Are you sure you want to quit in the middle of a procedure", parent); ms.Response += (o, a) => { if (a.ResponseId == ResponseType.Yes) { newIdx = e.activeIndex; } }; ms.Run(); ms.Destroy(); } else { newIdx = e.activeIndex; } } else { newIdx = e.activeIndex; } if (newIdx != testIdx) { if (testIdx != -1) { tests[testIdx].Restart(); } testIdx = newIdx; nameLabel.text = tests[testIdx].name; nameLabel.QueueDraw(); resetBtn.Visible = false; skipBtn.Visible = false; stepButton.text = "Start"; stepButton.buttonColor = "pri"; enableStepButton = true; stepLabel.text = "Press start"; actionLabel.text = string.Empty; stepButton.QueueDraw(); stepLabel.QueueDraw(); actionLabel.QueueDraw(); } }
protected void OnAtoGroupComboChanged(object sender, ComboBoxChangedEventArgs e) { if (e.activeText == "New ATO...") { var parent = Toplevel as Window; var s = new AtoSettings(new AutoTopOffGroupSettings(), parent); s.Run(); var newGroupName = s.groupName; var outcome = s.outcome; if (outcome == TouchSettingsOutcome.Added) { atoGroupCombo.comboList.Insert(atoGroupCombo.comboList.Count - 1, newGroupName); atoGroupCombo.activeText = newGroupName; atoGroupName = newGroupName; } else { atoGroupCombo.activeText = atoGroupName; } } else { atoGroupName = e.activeText; } GetAtoGroupData(); }
protected void OnComboChanged(object sender, ComboBoxChangedEventArgs e) { if (e.activeText == "New fixture...") { var parent = Toplevel as Window; var s = new FixtureSettings(new LightingFixtureSettings(), parent); s.Run(); var newFixtureName = s.fixtureName; var outcome = s.outcome; if (outcome == TouchSettingsOutcome.Added) { combo.comboList.Insert(combo.comboList.Count - 1, newFixtureName); combo.activeText = newFixtureName; fixtureName = newFixtureName; } else { combo.activeText = fixtureName; } } else { fixtureName = e.activeText; } GetFixtureData(); lightingStateWidget.SetStates(fixtureName); lightingStateWidget.QueueDraw(); combo.QueueDraw(); }
protected void OnComboChanged(object sender, ComboBoxChangedEventArgs args) { if (args.activeText != "New power strip...") { for (int i = 0; i < selectors.Length; ++i) { selectors[i].Unsubscribe(); } powerStripName = args.activeText; GetPowerData(); var ic = IndividualControl.Empty; ic.Group = powerStripName; for (int i = 0; i < selectors.Length; ++i) { ic.Individual = i; selectors[i].Subscribe(ic); } } else { var parent = Toplevel as Window; var numberInput = new TouchNumberInput(false, parent); numberInput.Title = "Address"; numberInput.TextSetEvent += (o, a) => { a.keepText = CardSettingsHelper.OnAddressSetEvent(a.text, ref powerStripName, Driver.Power); if (a.keepText) { combo.comboList.Insert(combo.comboList.Count - 1, powerStripName); foreach (var sel in selectors) { sel.Visible = true; } graphics.Visible = true; combo.Visible = false; combo.Visible = true; sceneTitle = "Power Strip"; GetPowerData(); } }; numberInput.Run(); numberInput.Destroy(); // The number input was canceled if (combo.activeText == "New power strip...") { powerStripName = Driver.Power.firstCard; combo.activeText = powerStripName; GetPowerData(); } } QueueDraw(); }
protected void OnSwitchComboChanged(object sender, ComboBoxChangedEventArgs e) { if (e.activeText == "New switch...") { CallFloatSwitchSettingsDialog(true); } else { switchName = e.activeText; } GetSwitchData(); }
protected void OnGroupComboChanged(object sender, ComboBoxChangedEventArgs e) { if (e.activeText == "New group...") { CallWaterLevelGroupSettingsDialog(true); } else { groupName = e.activeText; analogSensorWidget.sensorCombo.comboList.Clear(); if (groupName.IsNotEmpty()) { var groupsWaterLevelSensors = WaterLevel.GetAllWaterLevelSensorsForWaterLevelGroup(groupName); analogSensorWidget.sensorCombo.comboList.AddRange(groupsWaterLevelSensors); if (groupsWaterLevelSensors.Length > 0) { analogSensorWidget.sensorName = groupsWaterLevelSensors[0]; } else { analogSensorWidget.sensorName = string.Empty; } } analogSensorWidget.sensorCombo.comboList.Add("New level sensor..."); analogSensorWidget.sensorCombo.activeIndex = 0; analogSensorWidget.sensorCombo.QueueDraw(); switchCombo.comboList.Clear(); if (groupName.IsNotEmpty()) { var groupsFloatSwitches = WaterLevel.GetAllFloatSwitchesForWaterLevelGroup(groupName); switchCombo.comboList.AddRange(groupsFloatSwitches); if (groupsFloatSwitches.Length > 0) { switchName = groupsFloatSwitches[0]; } else { switchName = string.Empty; } } switchCombo.comboList.Add("New switch..."); switchCombo.activeIndex = 0; switchCombo.QueueDraw(); } GetGroupData(); analogSensorWidget.GetSensorData(); GetSwitchData(); }
protected void OnGroupComboChanged(object sender, ComboBoxChangedEventArgs e) { if (e.activeText == "New group...") { CallTemperatureGroupSettingsDialog(true); } else { groupName = e.activeText; probeWidget.sensorCombo.comboList.Clear(); if (groupName.IsNotEmpty()) { var groupsTemperatureProbes = Temperature.GetAllTemperatureProbesForTemperatureGroup(groupName); probeWidget.sensorCombo.comboList.AddRange(groupsTemperatureProbes); if (groupsTemperatureProbes.Length > 0) { probeWidget.sensorName = groupsTemperatureProbes[0]; } else { probeWidget.sensorName = string.Empty; } } probeWidget.sensorCombo.comboList.Add("New level sensor..."); probeWidget.sensorCombo.activeIndex = 0; probeWidget.sensorCombo.QueueDraw(); heaterCombo.comboList.Clear(); if (groupName.IsNotEmpty()) { var heaterNames = Devices.Heater.GetAllHeatersForTemperatureGroup(groupName); if (heaterNames.Length > 0) { heaterCombo.comboList.AddRange(heaterNames); heaterName = heaterNames[0]; } else { heaterName = string.Empty; } } heaterCombo.comboList.Add("New heater..."); heaterCombo.activeIndex = 0; heaterCombo.QueueDraw(); } groupCombo.QueueDraw(); GetGroupData(); probeWidget.GetSensorData(); }
protected void OnHeaterComboChanged(object sender, ComboBoxChangedEventArgs e) { if (e.activeText == "New heater...") { CallHeaterSettingsDialog(true); } else { heaterName = e.activeText; } heaterCombo.QueueDraw(); GetHeaterData(); }
protected void OnSensorComboChanged(object sender, ComboBoxChangedEventArgs e) { if (e.activeText == "New sensor...") { CallSensorSettingsDialog(); } else { sensorName = e.activeText; } sensorCombo.QueueDraw(); GetSensorData(); }
protected void OnTypeComboChanged(object sender, ComboBoxChangedEventArgs args) { switch (args.activeText) { case "Line Plot": nameTextBox.Visible = false; moduleComboBox.Visible = true; groupComboBox.Visible = false; nameComboBox.Visible = false; moduleComboBox.combo.comboList.Clear(); moduleComboBox.combo.comboList.AddRange(HomeWindowWidgets.linePlots.Keys); moduleComboBox.combo.activeIndex = -1; break; case "Bar Plot": nameTextBox.Visible = false; moduleComboBox.Visible = true; groupComboBox.Visible = false; nameComboBox.Visible = false; moduleComboBox.combo.comboList.Clear(); moduleComboBox.combo.comboList.AddRange(HomeWindowWidgets.barPlots.Keys); moduleComboBox.combo.activeIndex = -1; break; case "Curved Bar Plot": nameTextBox.Visible = false; moduleComboBox.Visible = false; groupComboBox.Visible = false; nameComboBox.Visible = true; nameComboBox.combo.comboList.Clear(); nameComboBox.combo.comboList.AddRange(HomeWindowWidgets.curvedBarPlots.Keys); moduleComboBox.combo.activeIndex = -1; break; default: nameTextBox.Visible = true; moduleComboBox.Visible = false; groupComboBox.Visible = false; nameComboBox.Visible = false; break; } }
protected void OnComboChanged(object sender, ComboBoxChangedEventArgs args) { if (args.activeText != "New card...") { card = args.activeText; GetCardData(); } else { var parent = Toplevel as Window; var numberInput = new TouchNumberInput(false, parent); numberInput.Title = "Address"; numberInput.TextSetEvent += (o, a) => { a.keepText = CardSettingsHelper.OnAddressSetEvent(a.text, ref card, Driver.AnalogOutput); if (a.keepText) { combo.comboList.Insert(combo.comboList.Count - 1, card); foreach (var display in displays) { display.Visible = true; } combo.activeText = card; combo.Visible = false; combo.Visible = true; sceneTitle = "Analog Output Cards"; GetCardData(); } }; numberInput.Run(); numberInput.Destroy(); // The number input was canceled if (combo.activeText == "New card...") { card = Driver.AnalogOutput.firstCard; combo.activeText = card; GetCardData(); } } QueueDraw(); }
protected void OnComboChange(object sender, ComboBoxChangedEventArgs args) { if (topCombo.Equals(sender)) { topWidget.Destroy(); topWidget = AnalogSensorWidgetCreater(args.activeText); Put(topWidget, 415, 77); topWidget.Show(); topWidget.GetSensorData(); } else { bottomWidget.Destroy(); bottomWidget = AnalogSensorWidgetCreater(args.activeText); Put(bottomWidget, 415, 277); bottomWidget.Show(); bottomWidget.GetSensorData(); } }
protected void OnModuleComboChanged(object sender, ComboBoxChangedEventArgs args) { if (args.activeIndex != -1) { if (args.activeText == "Temperature") { groupComboBox.Visible = true; groupComboBox.combo.comboList.Clear(); groupComboBox.combo.comboList.AddRange(Temperature.GetAllTemperatureGroupNames()); groupComboBox.combo.activeIndex = -1; } else if (args.activeText == "Water Level") { groupComboBox.Visible = true; groupComboBox.combo.comboList.Clear(); groupComboBox.combo.comboList.AddRange(WaterLevel.GetAllWaterLevelGroupNames()); groupComboBox.combo.activeIndex = -1; } else if (args.activeText == "Lighting") { groupComboBox.Visible = true; groupComboBox.combo.comboList.Clear(); groupComboBox.combo.comboList.AddRange(Devices.Lighting.GetAllDimmingFixtureNames()); groupComboBox.combo.activeIndex = -1; } else if (args.activeText == "pH Probe") { groupComboBox.Visible = true; groupComboBox.combo.comboList.Clear(); groupComboBox.combo.comboList.AddRange(Sensors.PhProbes.GetAllGadgetNames()); groupComboBox.combo.activeIndex = -1; } else { groupComboBox.Visible = false; } } }