private void CopyValues() { if (CheckBoxUseFormula.IsChecked.HasValue && CheckBoxUseFormula.IsChecked.Value) { //Use formula try { _dcsbiosOutputFormula = new DCSBIOSOutputFormula(TextBoxFormula.Text); } catch (Exception e) { throw new Exception("Error while creating formula object : " + e.Message); } } else { //Use single DCSBIOSOutput //This is were DCSBiosOutput (subset of DCSBIOSControl) get populated from DCSBIOSControl try { if (_dcsbiosControl == null && !string.IsNullOrWhiteSpace(TextBoxControlId.Text)) { _dcsbiosControl = DCSBIOSControlLocator.GetControl(TextBoxControlId.Text); _dcsBiosOutput.Consume(_dcsbiosControl); } } catch (Exception e) { throw new Exception("Error while creating DCSBIOSOutput object : " + e.Message); } } }
public void AddOrUpdateLCDBinding(DCSBIOSOutputFormula dcsbiosOutputFormula, PZ69LCDPosition pz69LCDPosition) { var found = false; var pz69DialPosition = _pz69UpperDialPosition; if (pz69LCDPosition == PZ69LCDPosition.LOWER_STBY_RIGHT || pz69LCDPosition == PZ69LCDPosition.LOWER_ACTIVE_LEFT) { pz69DialPosition = _pz69LowerDialPosition; } foreach (var dcsBiosBindingLCD in _dcsBiosLcdBindings) { if (dcsBiosBindingLCD.DialPosition == pz69DialPosition && dcsBiosBindingLCD.PZ69LcdPosition == pz69LCDPosition) { dcsBiosBindingLCD.DCSBIOSOutputFormulaObject = dcsbiosOutputFormula; Debug.Print("3 found"); found = true; break; } } if (!found) { var dcsBiosBindingLCD = new DCSBIOSBindingLCDPZ69(); dcsBiosBindingLCD.DialPosition = pz69DialPosition; dcsBiosBindingLCD.DCSBIOSOutputFormulaObject = dcsbiosOutputFormula; dcsBiosBindingLCD.PZ69LcdPosition = pz69LCDPosition; _dcsBiosLcdBindings.Add(dcsBiosBindingLCD); } IsDirtyMethod(); }
private void UpdateDCSBIOSBindingLCD(bool useFormula, bool deleteConfig, DCSBIOSOutput dcsbiosOutput, DCSBIOSOutputFormula dcsbiosOutputFormula, Button button, bool limitDecimalPlaces, int decimalPlaces) { try { if (deleteConfig) { if (button.Equals(ButtonLcdUpper)) { ImageLcdUpperRow.Visibility = Visibility.Hidden; _multiPanelPZ70.RemoveDCSBIOSLcdBinding(PZ70LCDPosition.UpperLCD); } if (button.Equals(ButtonLcdLower)) { ImageLcdLowerRow.Visibility = Visibility.Hidden; _multiPanelPZ70.RemoveDCSBIOSLcdBinding(PZ70LCDPosition.LowerLCD); } } else if (!useFormula) { if (button.Equals(ButtonLcdUpper)) { ImageLcdUpperRow.Visibility = dcsbiosOutput == null ? Visibility.Collapsed : Visibility.Visible; _multiPanelPZ70.AddOrUpdateLCDBinding(dcsbiosOutput, PZ70LCDPosition.UpperLCD, limitDecimalPlaces, decimalPlaces); } if (button.Equals(ButtonLcdLower)) { ImageLcdLowerRow.Visibility = dcsbiosOutput == null ? Visibility.Collapsed : Visibility.Visible; _multiPanelPZ70.AddOrUpdateLCDBinding(dcsbiosOutput, PZ70LCDPosition.LowerLCD, limitDecimalPlaces, decimalPlaces); } } else // useFormula { if (button.Equals(ButtonLcdUpper)) { ImageLcdUpperRow.Visibility = dcsbiosOutputFormula == null ? Visibility.Collapsed : Visibility.Visible; _multiPanelPZ70.AddOrUpdateLCDBinding(dcsbiosOutputFormula, PZ70LCDPosition.UpperLCD, limitDecimalPlaces, decimalPlaces); } if (button.Equals(ButtonLcdLower)) { ImageLcdLowerRow.Visibility = dcsbiosOutputFormula == null ? Visibility.Collapsed : Visibility.Visible; _multiPanelPZ70.AddOrUpdateLCDBinding(dcsbiosOutputFormula, PZ70LCDPosition.LowerLCD, limitDecimalPlaces, decimalPlaces); } } } catch (Exception ex) { Common.ShowErrorMessageBox(ex); } }
public DCSBiosOutputFormulaWindow(DCSAirframe dcsAirframe, string description, DCSBIOSOutputFormula dcsBiosOutputFormula) { InitializeComponent(); _dcsAirframe = dcsAirframe; _description = description; _dcsbiosOutputFormula = dcsBiosOutputFormula; DCSBIOSControlLocator.LoadControls(); _dcsbiosControls = DCSBIOSControlLocator.GetIntegerOutputControls(); }
public DCSBiosOutputFormulaWindow(string description, DCSBIOSOutputFormula dcsBiosOutputFormula, bool limitDecimals, int decimalPlaces, bool userEditsDescription = false, bool showDecimalSetting = false) { InitializeComponent(); _description = description; _userEditsDescription = userEditsDescription; _showDecimalSetting = showDecimalSetting; _dcsbiosOutputFormula = dcsBiosOutputFormula; _limitDecimals = limitDecimals; _decimalPlaces = decimalPlaces; DCSBIOSControlLocator.LoadControls(); _dcsbiosControls = DCSBIOSControlLocator.GetIntegerOutputControls(); BIOSEventHandler.AttachDataListener(this); }
internal void ImportSettings(string settings) { if (string.IsNullOrEmpty(settings)) { throw new ArgumentException("Import string empty. (DCSBIOSBindingPZ69)"); } if (settings.StartsWith("RadioPanelDCSBIOSLCD{") && settings.Contains("DCSBiosOutput{")) { //RadioPanelDCSBIOSLCD{COM1}\o/{LowerLCD}\o/DCSBiosOutput{ANT_EGIHQTOD|Equals|0} var parameters = settings.Split(new[] { Constants.SEPARATOR_SYMBOL }, StringSplitOptions.RemoveEmptyEntries); //[0] //RadioPanelDCSBIOSLCD{COM1} var param0 = parameters[0].Replace("RadioPanelDCSBIOSLCD{", "").Replace("}", ""); _pz69DialPosition = (PZ69DialPosition)Enum.Parse(typeof(PZ69DialPosition), param0); //[1] //{LowerLCD} var param1 = parameters[1].Replace("{", "").Replace("}", "").Trim(); _pz69LCDPosition = (PZ69LCDPosition)Enum.Parse(typeof(PZ69LCDPosition), param1); //[2] //DCSBiosOutput{ANT_EGIHQTOD|Equals|0} _dcsbiosOutput = new DCSBIOSOutput(); _dcsbiosOutput.ImportString(parameters[2]); } if (settings.StartsWith("RadioPanelDCSBIOSLCD{") && settings.Contains("DCSBiosOutputFormula{")) { //RadioPanelDCSBIOSLCD{COM1}\o/{UpperLCD}\o/DCSBiosOutputFormula{ANT_EGIHQTOD+10} var parameters = settings.Split(new[] { Constants.SEPARATOR_SYMBOL }, StringSplitOptions.RemoveEmptyEntries); //[0] //MultiPanelDCSBIOSFormulaLCD{COM1} var param0 = parameters[0].Replace("RadioPanelDCSBIOSLCD{", "").Replace("}", "").Trim(); _pz69DialPosition = (PZ69DialPosition)Enum.Parse(typeof(PZ69DialPosition), param0); //[1] //{UpperLCD} var param1 = parameters[1].Replace("{", "").Replace("}", "").Trim(); _pz69LCDPosition = (PZ69LCDPosition)Enum.Parse(typeof(PZ69LCDPosition), param1); //[2] //DCSBiosOutputFormula{ANT_EGIHQTOD+10} _dcsbiosOutputFormula = new DCSBIOSOutputFormula(); _dcsbiosOutputFormula.ImportString(parameters[2]); } }
internal void ImportSettings(string settings) { if (string.IsNullOrEmpty(settings)) { throw new ArgumentException("Import string empty. (DCSBIOSBindingPZ70)"); } if (settings.StartsWith("MultiPanelDCSBIOSControlLCD{") && settings.Contains("DCSBiosOutput{")) { //MultiPanelDCSBIOSControlLCD{KNOB_ALT|UpperALT}\o/DCSBiosOutput{AAP_EGIPWR|Equals|0}\o/\\?\hid#vid_06a3&pid_0d67#9&231fd360&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} var parameters = settings.Split(new[] { SeparatorChars }, StringSplitOptions.RemoveEmptyEntries); //MultiPanelDCSBIOSControlLCD{KNOB_ALT|UpperALT} var param0 = parameters[0].Substring(parameters[0].IndexOf("{", StringComparison.InvariantCulture) + 1); //KNOB_ALT|UpperALT} param0 = param0.Remove(param0.Length - 1, 1); //KNOB_ALT|UpperALT var knobAndLcd = param0.Split(new[] { "|" }, StringSplitOptions.RemoveEmptyEntries); _multiPanelPZ70Knob = (MultiPanelPZ70Knobs)Enum.Parse(typeof(MultiPanelPZ70Knobs), knobAndLcd[0]); _pz70LCDPosition = (PZ70LCDPosition)Enum.Parse(typeof(PZ70LCDPosition), knobAndLcd[1]); //DCSBiosOutput{AAP_EGIPWR|Equals|0} _dcsbiosOutput = new DCSBIOSOutput(); _dcsbiosOutput.ImportString(parameters[1]); } if (settings.StartsWith("MultiPanelDCSBIOSControlLCD{") && settings.Contains("DCSBiosOutputFormula{")) { //MultiPanelDCSBIOSFormulaLCD{KNOB_ALT|UpperALT}\o/DCSBiosOutputFormula{(AAP_EGIPWR+1)/2}\o/\\?\hid#vid_06a3&pid_0d67#9&231fd360&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030} var parameters = settings.Split(new[] { SeparatorChars }, StringSplitOptions.RemoveEmptyEntries); //MultiPanelDCSBIOSFormulaLCD{KNOB_ALT|UpperALT} var param0 = parameters[0].Substring(parameters[0].IndexOf("{", StringComparison.InvariantCulture) + 1); //KNOB_ALT|UpperALT} param0 = param0.Remove(param0.Length - 1, 1); //KNOB_ALT|UpperALT var knobAndLcd = param0.Split(new[] { "|" }, StringSplitOptions.RemoveEmptyEntries); _multiPanelPZ70Knob = (MultiPanelPZ70Knobs)Enum.Parse(typeof(MultiPanelPZ70Knobs), knobAndLcd[0]); _pz70LCDPosition = (PZ70LCDPosition)Enum.Parse(typeof(PZ70LCDPosition), knobAndLcd[1]); //DCSBiosOutputFormula{(AAP_EGIPWR+1)/2} _dcsbiosOutputFormula = new DCSBIOSOutputFormula(); _dcsbiosOutputFormula.ImportString(parameters[1]); } }
public void AddOrUpdateLCDBinding(DCSBIOSOutputFormula dcsbiosOutputFormula, PZ70LCDPosition pz70LCDPosition) { var found = false; foreach (var dcsBiosBindingLCD in _dcsBiosLcdBindings) { if (dcsBiosBindingLCD.DialPosition == _pz70DialPosition && dcsBiosBindingLCD.PZ70LCDPosition == pz70LCDPosition) { dcsBiosBindingLCD.DCSBIOSOutputFormulaObject = dcsbiosOutputFormula; found = true; break; } } if (!found) { var dcsBiosBindingLCD = new DCSBIOSOutputBindingPZ70(); dcsBiosBindingLCD.DialPosition = _pz70DialPosition; dcsBiosBindingLCD.DCSBIOSOutputFormulaObject = dcsbiosOutputFormula; dcsBiosBindingLCD.PZ70LCDPosition = pz70LCDPosition; _dcsBiosLcdBindings.Add(dcsBiosBindingLCD); } SetIsDirty(); }
private void ClearAll() { _dcsbiosControl = null; _dcsBiosOutput = null; _dcsbiosOutputFormula = null; }
public void AddOrUpdateDCSBIOSLcdBinding(MultiPanelPZ70Knobs multiPanelPZ70Knob, DCSBIOSOutputFormula dcsbiosOutputFormula, PZ70LCDPosition pz70LCDPosition) { var found = false; foreach (var dcsBiosBindingLCD in _dcsBiosLcdBindings) { if (dcsBiosBindingLCD.MultiPanelPZ70Knob == multiPanelPZ70Knob && dcsBiosBindingLCD.PZ70LCDPosition == pz70LCDPosition) { dcsBiosBindingLCD.DCSBIOSOutputFormulaObject = dcsbiosOutputFormula; found = true; break; } } if (!found) { var dcsBiosBindingLCD = new DCSBIOSBindingLCDPZ70(); dcsBiosBindingLCD.MultiPanelPZ70Knob = multiPanelPZ70Knob; dcsBiosBindingLCD.DCSBIOSOutputFormulaObject = dcsbiosOutputFormula; dcsBiosBindingLCD.PZ70LCDPosition = pz70LCDPosition; _dcsBiosLcdBindings.Add(dcsBiosBindingLCD); } IsDirtyMethod(); }