private async Task InitializeRailDriverSettingsAsync() { instance = RailDriverBase.GetInstance(); //#if !DEBUG if (!instance.Enabled) { tabOptions.TabPages.Remove(tabPageRailDriver); await Task.CompletedTask; return; } //#endif panelRDButtons.Width = panelRDSettings.Width / 2; panelRDButtons.Controls.Clear(); checkReverseReverser.Checked = Settings.RailDriver.CalibrationSettings[(int)RailDriverCalibrationSetting.ReverseReverser] != 0; checkReverseThrottle.Checked = Settings.RailDriver.CalibrationSettings[(int)RailDriverCalibrationSetting.ReverseThrottle] != 0; checkReverseAutoBrake.Checked = Settings.RailDriver.CalibrationSettings[(int)RailDriverCalibrationSetting.ReverseAutoBrake] != 0; checkReverseIndependentBrake.Checked = Settings.RailDriver.CalibrationSettings[(int)RailDriverCalibrationSetting.ReverseIndependentBrake] != 0; checkFullRangeThrottle.Checked = Settings.RailDriver.CalibrationSettings[(int)RailDriverCalibrationSetting.FullRangeThrottle] != 0; Panel controls = await Task.Run(InitializeRailDriverInputControls); controls.Dock = DockStyle.Fill; panelRDButtons.Controls.Add(controls); foreach (Control control in controls.Controls) { if (control is RDButtonInputControl) { toolTip1.SetToolTip(control, catalog.GetString("Click to change this button")); } } }
public RDButtonInputControl(byte userButton, byte defaultButton, RailDriverBase railDriver) { InitializeComponent(); if (RDButtonInputControl.railDriver == null) { RDButtonInputControl.railDriver = railDriver; } if (null == readBuffer) { readBuffer = railDriver.NewReadBuffer; } UserButton = userButton; DefaultButton = defaultButton; UpdateText(); }