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; } }
/// <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); } }
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; }
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; }
private bool _canClearSelectedAlgorithms(object parameter) { return(SelectedProcesses.Any()); }
public void ClearSelectedCommand(object obj) { SelectedProcesses.Clear(); }