public void AddOrUpdateDisplayValue(RadioPanelPZ69KnobsEmulator radioPanelPZ69Knob, string valueAsString, RadioPanelPZ69Display radioPanelDisplay) { if (string.IsNullOrEmpty(valueAsString)) { ClearDisplayValue(radioPanelPZ69Knob, radioPanelDisplay); return; } var value = double.Parse(valueAsString, Common.GetPZ69FullDisplayNumberFormat()); if (value < 0) { ClearDisplayValue(radioPanelPZ69Knob, radioPanelDisplay); return; } var found = false; foreach (var displayValue in _displayValues) { if (displayValue.RadioPanelPZ69Knob == radioPanelPZ69Knob && displayValue.RadioPanelDisplay == radioPanelDisplay) { displayValue.Value = valueAsString; found = true; } } if (!found) { var displayValue = new RadioPanelPZ69DisplayValue(); displayValue.RadioPanelPZ69Knob = radioPanelPZ69Knob; displayValue.RadioPanelDisplay = radioPanelDisplay; displayValue.Value = valueAsString; _displayValues.Add(displayValue); } IsDirtyMethod(); }
public override void ImportSettings(List <string> settings) { //Clear current bindings ClearSettings(); if (settings == null || settings.Count == 0) { return; } foreach (var setting in settings) { if (!setting.StartsWith("#") && setting.Length > 2 && setting.Contains(InstanceId)) { if (setting.StartsWith("RadioPanelKey{")) { var keyBinding = new KeyBindingPZ69(); keyBinding.ImportSettings(setting); _keyBindings.Add(keyBinding); } else if (setting.StartsWith("PZ69DisplayValue{")) { var radioPanelPZ69DisplayValue = new RadioPanelPZ69DisplayValue(); radioPanelPZ69DisplayValue.ImportSettings(setting); _displayValues.Add(radioPanelPZ69DisplayValue); } else if (setting.StartsWith("RadioPanelBIPLink{")) { var bipLinkPZ69 = new BIPLinkPZ69(); bipLinkPZ69.ImportSettings(setting); _bipLinks.Add(bipLinkPZ69); } } } OnSettingsApplied(); }