Exemplo n.º 1
0
        private protected override void OnProcessesAdded(IActiveProcessViewModel[] processViewModels)
        {
            foreach (IActiveProcessViewModel activeProcessViewModel in processViewModels)
            {
                void ProcessExited(object sender, EventArgs e)
                {
                    activeProcessViewModel.Process.Exited  -= ProcessExited;
                    activeProcessViewModel.PropertyChanged -= DownloadStatusPropertyChanged;

                    OnUIThread(() =>
                    {
                        SelectedProcesses.Remove(activeProcessViewModel);
                        Processes.Remove(activeProcessViewModel);
                    });

                    OnProcessExited(activeProcessViewModel);
                }

                void DownloadStatusPropertyChanged(object sender, PropertyChangedEventArgs e)
                {
                    if (e.PropertyName == nameof(DownloadStatus.DownloadState))
                    {
                        Processes.Refresh();
                    }
                }

                activeProcessViewModel.Process.Exited  += ProcessExited;
                activeProcessViewModel.PropertyChanged += DownloadStatusPropertyChanged;
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Occurs when an algorithm has requested removal from the selected
        /// algorithms collection
        /// </summary>
        /// <param name="sender">The algorithm</param>
        /// <param name="e">N/A</param>
        private void _algorithmRemovalRequested(object sender, EventArgs e)
        {
            AlgorithmViewModel vm = sender as AlgorithmViewModel;

            if (vm != null && SelectedProcesses.Contains(vm))
            {
                SelectedProcesses.Remove(vm);
            }
        }
Exemplo n.º 3
0
        void IDropTarget.Drop(IDropInfo dropInfo)
        {
            bool notHandled = true;

            if (dropInfo.Data is AlgorithmViewModel)
            {
                AlgorithmViewModel clone = (AlgorithmViewModel)((AlgorithmViewModel)dropInfo.Data).Clone();
                SelectedProcesses.Add(clone);
                notHandled = false;
            }

            dropInfo.NotHandled = notHandled;
        }
Exemplo n.º 4
0
 public void AddToSignature()
 {
     foreach (ProcessReportsModel PM in ProcessList)
     {
         if (PM.Selected & !SelectedProcesses.Contains(PM))
         {
             SelectedProcesses.Add(PM);
         }
     }
     try
     {
         CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(SelectedProcesses);
         view.SortDescriptions.Add(new SortDescription("Name", ListSortDirection.Ascending));
     }
     catch (Exception) { }
     Restrictions.AllProcess_Restrictions     = SelectedProcesses;
     GlobalResources.IsProcessRestrictionsSet = true;
 }
Exemplo n.º 5
0
 private bool _canClearSelectedAlgorithms(object parameter)
 {
     return(SelectedProcesses.Any());
 }
Exemplo n.º 6
0
 public void ClearSelectedCommand(object obj)
 {
     SelectedProcesses.Clear();
 }