/// <summary> /// See base docs. /// </summary> protected override void CreateBindings() { base.CreateBindings(); var combinedFeeds = SettingsView.CombinedFeed; var receiverFormatManager = Factory.Singleton.Resolve <IReceiverFormatManager>().Singleton; var settings = SettingsView.Configuration.GoogleMapSettings; AddControlBinder(new ComboBoxBinder <GoogleMapSettings, CombinedFeed, int>(settings, comboBoxWebSiteReceiverId, combinedFeeds, r => r.WebSiteReceiverId, (r, v) => r.WebSiteReceiverId = v) { GetListItemDescription = r => r.Name, GetListItemValue = r => r.UniqueId, SortList = true, }); AddControlBinder(new ComboBoxBinder <GoogleMapSettings, CombinedFeed, int>(settings, comboBoxClosestAircraftReceiverId, combinedFeeds, r => r.ClosestAircraftReceiverId, (r, v) => r.ClosestAircraftReceiverId = v) { GetListItemDescription = r => r.Name, GetListItemValue = r => r.UniqueId, SortList = true, }); AddControlBinder(new ComboBoxBinder <GoogleMapSettings, CombinedFeed, int>(settings, comboBoxFsxReceiverId, combinedFeeds, r => r.FlightSimulatorXReceiverId, (r, v) => r.FlightSimulatorXReceiverId = v) { GetListItemDescription = r => r.Name, GetListItemValue = r => r.UniqueId, SortList = true, }); AddControlBinder(new MasterListToListBinder <Configuration, Receiver>(SettingsView.Configuration, listReceivers, r => r.Receivers) { FetchColumns = (receiver, e) => { var location = SettingsView == null ? null : SettingsView.Configuration.ReceiverLocations.FirstOrDefault(r => r.UniqueId == receiver.ReceiverLocationId); e.Checked = receiver.Enabled; e.ColumnTexts.Add(receiver.Name); e.ColumnTexts.Add(receiverFormatManager.ShortName(receiver.DataSource)); e.ColumnTexts.Add(Describe.ReceiverUsage(receiver.ReceiverUsage)); e.ColumnTexts.Add(location == null ? "" : location.Name); e.ColumnTexts.Add(Describe.ConnectionType(receiver.ConnectionType)); e.ColumnTexts.Add(DescribeConnectionParameters(receiver)); }, AddHandler = () => SettingsView.CreateReceiver(), DeleteHandler = (r) => SettingsView.RemoveReceivers(r), EditHandler = (receiver) => SettingsView.DisplayPageForPageObject(receiver), CheckedChangedHandler = (receiver, isChecked) => receiver.Enabled = isChecked, }); }
/// <summary> /// See base docs. /// </summary> protected override void CreateBindings() { base.CreateBindings(); var receiverFormatManager = Factory.ResolveSingleton <IReceiverFormatManager>(); var receiverFormats = receiverFormatManager.GetRegisteredFormats(); AddControlBinder(new CheckBoxBoolBinder <Receiver> (Receiver, checkBoxEnabled, r => r.Enabled, (r, v) => r.Enabled = v) { UpdateMode = DataSourceUpdateMode.OnPropertyChanged }); AddControlBinder(new CheckBoxBoolBinder <Receiver> (Receiver, checkBoxIsSatcomFeed, r => r.IsSatcomFeed, (r, v) => r.IsSatcomFeed = v)); AddControlBinder(new CheckBoxBoolBinder <Receiver> (Receiver, checkBoxIsPassive, r => r.IsPassive, (r, v) => r.IsPassive = v) { UpdateMode = DataSourceUpdateMode.OnPropertyChanged }); AddControlBinder(new CheckBoxBoolBinder <Receiver> (Receiver, checkBoxUseKeepAlive, r => r.UseKeepAlive, (r, v) => r.UseKeepAlive = v) { UpdateMode = DataSourceUpdateMode.OnPropertyChanged }); AddControlBinder(new TextBoxStringBinder <Receiver> (Receiver, textBoxName, r => r.Name, (r, v) => r.Name = v) { UpdateMode = DataSourceUpdateMode.OnPropertyChanged }); AddControlBinder(new TextBoxStringBinder <Receiver> (Receiver, textBoxAddress, r => r.Address, (r, v) => r.Address = v)); AddControlBinder(new TextBoxStringBinder <Receiver> (Receiver, textBoxPassphrase, r => r.Passphrase, (r, v) => r.Passphrase = v)); AddControlBinder(new TextBoxStringBinder <Receiver> (Receiver, textBoxSerialStartupText, r => r.StartupText, (r, v) => r.StartupText = v)); AddControlBinder(new TextBoxStringBinder <Receiver> (Receiver, textBoxSerialShutdownText, r => r.ShutdownText, (r, v) => r.ShutdownText = v)); AddControlBinder(new TextBoxStringBinder <Receiver> (Receiver, textBoxWebAddress, r => r.WebAddress, (r, v) => r.WebAddress = v)); AddControlBinder(new NumericIntBinder <Receiver> (Receiver, numericPort, r => r.Port, (r, v) => r.Port = v)); AddControlBinder(new NumericIntBinder <Receiver> (Receiver, numericIdleTimeout, r => r.IdleTimeoutMilliseconds / 1000, (r, v) => r.IdleTimeoutMilliseconds = v * 1000) { ModelPropertyName = nameof(Receiver.IdleTimeoutMilliseconds) }); AddControlBinder(new NumericDoubleBinder <Receiver> (Receiver, numericFetchIntervalSeconds, r => ((double)r.FetchIntervalMilliseconds) / 1000.0, (r, v) => r.FetchIntervalMilliseconds = (int)(v * 1000.0)) { ModelPropertyName = nameof(Receiver.FetchIntervalMilliseconds) }); AddControlBinder(new ComboBoxBinder <Receiver, ReceiverLocation, int> (Receiver, comboBoxLocationId, SettingsView.Configuration.ReceiverLocations, r => r.ReceiverLocationId, (r, v) => r.ReceiverLocationId = v) { GetListItemDescription = r => r.Name, GetListItemValue = r => r.UniqueId, SortList = true, }); AddControlBinder(new ComboBoxBinder <Receiver, ReceiverFormatName, string>(Receiver, comboBoxDataSource, receiverFormats, r => r.DataSource, (r, v) => r.DataSource = v) { GetListItemDescription = r => r.ShortName, GetListItemValue = r => r.UniqueId, SortList = true, }); AddControlBinder(new ComboBoxEnumBinder <Receiver, ConnectionType> (Receiver, comboBoxConnectionType, r => r.ConnectionType, (r, v) => r.ConnectionType = v, r => Describe.ConnectionType(r)) { UpdateMode = DataSourceUpdateMode.OnPropertyChanged }); AddControlBinder(new ComboBoxEnumBinder <Receiver, StopBits> (Receiver, comboBoxSerialStopBits, r => r.StopBits, (r, v) => r.StopBits = v, r => Describe.StopBits(r))); AddControlBinder(new ComboBoxEnumBinder <Receiver, Parity> (Receiver, comboBoxSerialParity, r => r.Parity, (r, v) => r.Parity = v, r => Describe.Parity(r))); AddControlBinder(new ComboBoxEnumBinder <Receiver, Handshake> (Receiver, comboBoxSerialHandshake, r => r.Handshake, (r, v) => r.Handshake = v, r => Describe.Handshake(r))); AddControlBinder(new ComboBoxValueBinder <Receiver, string> (Receiver, comboBoxSerialComPort, SettingsView.GetSerialPortNames(), r => r.ComPort, (r, v) => r.ComPort = v)); AddControlBinder(new ComboBoxValueBinder <Receiver, int> (Receiver, comboBoxSerialBaudRate, _SupportedBaudRates, r => r.BaudRate, (r, v) => r.BaudRate = v)); AddControlBinder(new ComboBoxValueBinder <Receiver, int> (Receiver, comboBoxSerialDataBits, _SupportedDataBits, r => r.DataBits, (r, v) => r.DataBits = v)); AddControlBinder(new RadioButtonEnumBinder <Receiver, ReceiverUsage>(Receiver, radioButtonPanelUsage, r => r.ReceiverUsage, (r, v) => r.ReceiverUsage = v)); AddControlBinder(new AccessControlBinder <Receiver>(Receiver, accessControl, r => r.Access)); }