Esempio n. 1
0
        public SourceGroupModel(Common.SignalGroup group)
        {
            if (group == null)
            {
                throw new ArgumentNullException();
            }
            this._groupInfo = group;

            if (Common.AppSettings.Instance.UseGroups)
            {
                foreach (Common.SignalSource src in Common.AppSettings.Instance.SignalSources.Where(ss => ss.GroupId == _groupInfo.GroupId).OrderBy(ss => ss.DisplayOrder))
                {
                    AddSignalSourceToList(src);
                }
            }
            else if (_groupInfo.GroupId == Guid.Empty)
            {
                foreach (Common.SignalSource src in Common.AppSettings.Instance.SignalSources.OrderBy(ss => ss.DisplayOrder))
                {
                    AddSignalSourceToList(src);
                }
            }

            Cinch.Mediator.Instance.RegisterHandler <bool>("REFRESH_VISUALS", (b) =>
            {
                OnPropertyChanged("GroupColor");
            });
        }
Esempio n. 2
0
        public override void SetupDisplay()
        {
            base.SetupDisplay();
            bool bIsXP = !(Environment.OSVersion.Platform == PlatformID.Win32NT && Environment.OSVersion.Version.Major >= 6);

            if (bIsXP || !Common.AppSettings.Instance.UseGroups)
            {
                svGroups.Visibility  = System.Windows.Visibility.Collapsed;
                lbGroups.ItemsSource = null;
                ViewModels.SourceGroupModel grp = (this.DataContext as ViewModels.MainViewModel).SignalGroups.FirstOrDefault();
                if (grp == null)
                {
                    Common.SignalGroup sigGrp = new Common.SignalGroup()
                    {
                        GroupId = Guid.Empty, DisplayOrder = 0, GroupName = "Default", GroupMuted = false, GroupColorString = string.Empty
                    };
                    Common.AppSettings.Instance.SignalGroups.Add(sigGrp);
                    Common.AppSettings.Instance.SaveSettingsFile();
                    grp = new ViewModels.SourceGroupModel(sigGrp);
                }
                xpSourcesView.ItemsSource = grp.SignalSources;
                svXp.Visibility           = Visibility.Visible;
            }
            else
            {
                svGroups.Visibility      = System.Windows.Visibility.Visible;
                lbGroups.ItemsSource     = (this.DataContext as ViewModels.MainViewModel).SignalGroups;
                xpSourcesView.Visibility = System.Windows.Visibility.Collapsed;
                svXp.Visibility          = System.Windows.Visibility.Collapsed;
            }
        }
Esempio n. 3
0
 public override void SetupDisplay()
 {
     base.SetupDisplay();
     bool bIsXP = !(Environment.OSVersion.Platform == PlatformID.Win32NT && Environment.OSVersion.Version.Major >= 6);
     if (bIsXP || !Common.AppSettings.Instance.UseGroups)
     {
         svGroups.Visibility = System.Windows.Visibility.Collapsed;
         lbGroups.ItemsSource = null;
         ViewModels.SourceGroupModel grp = (this.DataContext as ViewModels.MainViewModel).SignalGroups.FirstOrDefault();
         if (grp == null)
         {
             Common.SignalGroup sigGrp = new Common.SignalGroup() { GroupId = Guid.Empty, DisplayOrder = 0, GroupName = "Default", GroupMuted = false, GroupColorString = string.Empty };
             Common.AppSettings.Instance.SignalGroups.Add(sigGrp);
             Common.AppSettings.Instance.SaveSettingsFile();
             grp = new ViewModels.SourceGroupModel(sigGrp);
         }
         xpSourcesView.ItemsSource = grp.SignalSources;
         svXp.Visibility = Visibility.Visible;
     }
     else
     {
         svGroups.Visibility = System.Windows.Visibility.Visible;
         lbGroups.ItemsSource = (this.DataContext as ViewModels.MainViewModel).SignalGroups;
         xpSourcesView.Visibility = System.Windows.Visibility.Collapsed;
         svXp.Visibility = System.Windows.Visibility.Collapsed;
     }
 }
Esempio n. 4
0
        private void AddSignalGroupToList(Common.SignalGroup grp)
        {
            SourceGroupModel processor = new SourceGroupModel(grp);

            if (processor != null)
            {
                _signalGroups.Add(processor);

                _signalGroups.Sort();
            }
        }
Esempio n. 5
0
        public GroupEditorDialog(Common.SignalGroup group)
        {
            InitializeComponent();

            RadioLog.WPFCommon.BrushSelectionHolder[] colors = RadioLog.WPFCommon.ColorHelper.GetBrushSelectionItems();
            System.Collections.ObjectModel.ObservableCollection <RadioLog.WPFCommon.BrushSelectionHolder> colorList = new System.Collections.ObjectModel.ObservableCollection <WPFCommon.BrushSelectionHolder>(colors);
            colorList.Insert(0, new WPFCommon.BrushSelectionHolder("Default", null));
            cbGroupColor.ItemsSource = colorList;

            _group = group;
            SetupForCurrentGroup();
        }
        public GroupEditorDialog(Common.SignalGroup group)
        {
            InitializeComponent();

            RadioLog.WPFCommon.BrushSelectionHolder[] colors = RadioLog.WPFCommon.ColorHelper.GetBrushSelectionItems();
            System.Collections.ObjectModel.ObservableCollection<RadioLog.WPFCommon.BrushSelectionHolder> colorList = new System.Collections.ObjectModel.ObservableCollection<WPFCommon.BrushSelectionHolder>(colors);
            colorList.Insert(0, new WPFCommon.BrushSelectionHolder("Default", null));
            cbGroupColor.ItemsSource = colorList;
            
            _group = group;
            SetupForCurrentGroup();
        }
Esempio n. 7
0
 private void ProcessGroupAdded(Common.SignalGroup grp)
 {
     if (!Common.AppSettings.Instance.UseGroups && grp.GroupId != Guid.Empty)
     {
         return;
     }
     if (grp == null || _signalGroups.FirstOrDefault(g => g.GroupId == grp.GroupId) != null)
     {
         return;
     }
     AddSignalGroupToList(grp);
 }
Esempio n. 8
0
        protected BaseSourceModel(Common.SignalSource src, Common.SignalGroup group)
        {
            if (src == null)
            {
                throw new ArgumentNullException();
            }
            _src   = src;
            _group = group;

            Cinch.Mediator.Instance.RegisterHandler <bool>("REFRESH_VISUALS", (b) =>
            {
                DoRefreshVisuals();
            });
        }
Esempio n. 9
0
        private void btnOk_Click(object sender, RoutedEventArgs e)
        {
            if (!VerifySourceInputs())
            {
                return;
            }
            string colorName = string.Empty;

            if (cbGroupColor.SelectedIndex > 0)
            {
                colorName = cbGroupColor.SelectedValue as string;
            }
            if (_group == null)
            {
                int dispOrder = (int)sDisplayOrder.Value;
                Common.SignalGroup highestGroup = Common.AppSettings.Instance.SignalGroups.OrderByDescending(g => g.DisplayOrder).FirstOrDefault();
                if (highestGroup != null)
                {
                    dispOrder = highestGroup.DisplayOrder + 10;
                }
                _group = new Common.SignalGroup()
                {
                    GroupId = Guid.NewGuid(), GroupMuted = false, GroupColorString = colorName, GroupName = tbGroupName.Text, DisplayOrder = dispOrder
                };
                RadioLog.Common.AppSettings.Instance.SignalGroups.Add(_group);
                Cinch.Mediator.Instance.NotifyColleagues <RadioLog.Common.SignalGroup>("NEW_GROUP_ADDED", _group);
            }
            else
            {
                _group.GroupName        = tbGroupName.Text;
                _group.GroupColorString = colorName;
                _group.DisplayOrder     = (int)sDisplayOrder.Value;
                Cinch.Mediator.Instance.NotifyColleagues <Guid>("GROUP_CHANGED", _group.GroupId);
            }
            RadioLog.Common.AppSettings.Instance.SaveSettingsFile();
            DialogResult = true;
        }
Esempio n. 10
0
 public WaveInChannelSourceModel(Common.SignalSource src, Common.SignalGroup group) : base(src, group)
 {
 }
Esempio n. 11
0
 public StreamingSourceModel(Common.SignalSource src, Common.SignalGroup group) : base(src, group)
 {
 }
Esempio n. 12
0
        public static void ShowGroupEditorDialog(Common.SignalGroup group)
        {
            GroupEditorDialog dlg = new GroupEditorDialog(group);

            dlg.ShowDialog();
        }
Esempio n. 13
0
 private void btnOk_Click(object sender, RoutedEventArgs e)
 {
     if (!VerifySourceInputs())
         return;
     string colorName = string.Empty;
     if (cbGroupColor.SelectedIndex > 0)
     {
         colorName = cbGroupColor.SelectedValue as string;
     }
     if (_group == null)
     {
         int dispOrder = (int)sDisplayOrder.Value;
         Common.SignalGroup highestGroup = Common.AppSettings.Instance.SignalGroups.OrderByDescending(g => g.DisplayOrder).FirstOrDefault();
         if (highestGroup != null)
             dispOrder = highestGroup.DisplayOrder + 10;
         _group = new Common.SignalGroup() { GroupId = Guid.NewGuid(), GroupMuted = false, GroupColorString = colorName, GroupName = tbGroupName.Text, DisplayOrder = dispOrder };
         RadioLog.Common.AppSettings.Instance.SignalGroups.Add(_group);
         Cinch.Mediator.Instance.NotifyColleagues<RadioLog.Common.SignalGroup>("NEW_GROUP_ADDED", _group);
     }
     else
     {
         _group.GroupName = tbGroupName.Text;
         _group.GroupColorString = colorName;
         _group.DisplayOrder = (int)sDisplayOrder.Value;
         Cinch.Mediator.Instance.NotifyColleagues<Guid>("GROUP_CHANGED", _group.GroupId);
     }
     RadioLog.Common.AppSettings.Instance.SaveSettingsFile();
     DialogResult = true;
 }
Esempio n. 14
0
        public MainViewModel(IViewAwareStatus viewAwareStatus)
        {
            if (MEFedMVVM.Common.Designer.IsInDesignMode)
            {
                return;
            }

            _tAudioCheck = new System.Threading.Thread(() =>
            {
                while (_shouldRunThreads)
                {
                    foreach (SourceGroupModel grp in SignalGroups)
                    {
                        grp.UpdateHasAudio();
                    }
                    System.Threading.Thread.Sleep(1500);
                }
            });
            _tAudioCheck.IsBackground = true;
            _tAudioCheck.Name         = "Audio Check Thread";

            if (Common.AppSettings.Instance.UseGroups)
            {
                foreach (Common.SignalGroup grp in Common.AppSettings.Instance.SignalGroups)
                {
                    AddSignalGroupToList(grp);
                }
            }
            else
            {
                Common.SignalGroup mainGroup = Common.AppSettings.Instance.SignalGroups.FirstOrDefault(g => g.GroupId == Guid.Empty);
                if (mainGroup != null)
                {
                    AddSignalGroupToList(mainGroup);
                }
            }

            _viewStatus             = viewAwareStatus;
            _viewStatus.ViewLoaded += viewAwareStatus_ViewLoaded;
            Cinch.Mediator.Instance.RegisterHandler <Common.SignalSourceGroupChangeHolder>("SOURCE_GROUP_CHANGE", ProcessSourceGroupChange);
            Cinch.Mediator.Instance.RegisterHandler <Common.SignalSource>("NEW_SIGNAL_SOURCE", ProcessNewSignalSource);
            Cinch.Mediator.Instance.RegisterHandler <Guid>("DELETE_SIGNAL_SOURCE", ProcessRemoveSignalSource);
            Cinch.Mediator.Instance.RegisterHandler <Guid>("UPDATE_SIGNAL_SOURCE", ProcessRefreshSignalSource);
            Cinch.Mediator.Instance.RegisterHandler <Guid>("GROUP_CHANGED", ProcessGroupUpdated);
            Cinch.Mediator.Instance.RegisterHandler <Guid>("GROUP_DELETED", ProcessGroupDeleted);
            Cinch.Mediator.Instance.RegisterHandler <Common.SignalGroup>("NEW_GROUP_ADDED", ProcessGroupAdded);
            Cinch.Mediator.Instance.RegisterHandler <Guid>("TOGGLE_SOURCE_MUTE_OTHERS", ProcessToggleSourceMuteOthers);
            Cinch.Mediator.Instance.RegisterHandler <Guid>("END_IF_NON_MUTED_SOURCE", ProcessShutdownSourceMuteOthers);
            Cinch.Mediator.Instance.RegisterHandler <bool>("AUDIO_MUTE_STATE_CHANGED", ProcessAudioMuteStateChanged);

            Cinch.Mediator.Instance.RegisterHandler <bool>("REFRESH_RADIO_LOOKUPS", (b) =>
            {
                foreach (RadioSignalItemModel rSig in RadioLog)
                {
                    rSig.UpdateLookups();
                }
                foreach (EmergencyRadioSignalItemModel eSig in EmergencyRadioLog)
                {
                    eSig.UpdateLookups();
                }
            });
            Cinch.Mediator.Instance.RegisterHandler <bool>("SETTINGS_CHANGED", (b) =>
            {
                GridFontSize      = Common.AppSettings.Instance.GridFontSize;
                GridSmallFontSize = Common.AppSettings.Instance.GridFontSize - 4;
                GridLargeFontSize = Common.AppSettings.Instance.GridFontSize + 4;
                foreach (SourceGroupModel grp in _signalGroups)
                {
                    grp.UpdateForSystemSettingsChanged();
                }
            });

            UpdateEmergencyAlarmSoundPlayer();
        }