/// <summary>
        /// See base docs.
        /// </summary>
        protected override void CreateBindings()
        {
            base.CreateBindings();

            var rebroadcastFormatManager = Factory.ResolveSingleton<IRebroadcastFormatManager>();

            AddControlBinder(new MasterListToListBinder<Configuration, RebroadcastSettings>(SettingsView.Configuration, listRebroadcastServers, r => r.RebroadcastSettings) {
                FetchColumns = (rebroadcastServer, e) => {
                    var receiver = SettingsView.CombinedFeed.FirstOrDefault(r => r.UniqueId == rebroadcastServer.ReceiverId);
                    var portDescription = !rebroadcastServer.IsTransmitter ? String.Format("::{0}", rebroadcastServer.Port) : String.Format("{0}:{1}", rebroadcastServer.TransmitAddress, rebroadcastServer.Port);

                    e.Checked = rebroadcastServer.Enabled;
                    e.ColumnTexts.Add(rebroadcastServer.Name);
                    e.ColumnTexts.Add(receiver == null ? "" : receiver.Name ?? "");
                    e.ColumnTexts.Add(rebroadcastFormatManager.ShortName(rebroadcastServer.Format));
                    e.ColumnTexts.Add(portDescription);
                    e.ColumnTexts.Add(Describe.DefaultAccess(rebroadcastServer.Access.DefaultAccess));
                },
                GetSortValue = (rebroadcastServer, header, defaultValue) => {
                    IComparable result = defaultValue;
                    if(header == columnHeaderUNC) {
                        if(!rebroadcastServer.IsTransmitter) result = String.Format("_{0:00000}", rebroadcastServer.Port);
                        else                                 result = String.Format("{0}:{1:00000}", rebroadcastServer.TransmitAddress, rebroadcastServer.Port);
                    }

                    return result;
                },
                AddHandler = () => SettingsView.CreateRebroadcastServer(),
                AutoDeleteEnabled = true,
                EditHandler = (rebroadcastServer) => SettingsView.DisplayPageForPageObject(rebroadcastServer),
                CheckedChangedHandler = (rebroadcastServer, isChecked) => rebroadcastServer.Enabled = isChecked,
            });
        }
Exemple #2
0
        public ViewModel()
        {
            var plugin = Plugin.Singleton;

            if (plugin != null)
            {
                IndexPageAddress = plugin.GetIndexPageAddress();
            }
            EnumDefaultAccesses = EnumModel.CreateFromEnum <DefaultAccess>(r => Describe.DefaultAccess(r));
        }
Exemple #3
0
        /// <summary>
        /// See base class docs.
        /// </summary>
        /// <param name="e"></param>
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            if (!DesignMode)
            {
                Localise.Control(this);

                var defaultAccesses = Enum.GetValues(typeof(DefaultAccess)).OfType <DefaultAccess>().ToArray();
                _DefaultAccessItems = new ItemDescriptionList <DefaultAccess>(defaultAccesses, r => Describe.DefaultAccess(r));
                foreach (var item in _DefaultAccessItems)
                {
                    comboBoxDefaultAccess.Items.Add(item);
                }
                CopyDefaultAccessToControl();

                _AddressesWrapper       = new GenericListWrapper <string>(Addresses);
                _Addresses.ListChanged += Addresses_ListChanged;
                CopyAddressesToControl();
            }
        }
Exemple #4
0
 public ViewModel()
 {
     FilterSettingsUrl   = Plugin.Singleton?.FilterSettingsUrl;
     EnumDefaultAccesses = EnumModel.CreateFromEnum <DefaultAccess>(r => Describe.DefaultAccess(r));
 }
Exemple #5
0
 public ViewModel()
 {
     EnumDefaultAccesses = EnumModel.CreateFromEnum <DefaultAccess>(r => Describe.DefaultAccess(r));
 }