Exemple #1
0
        /// <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));
        }