///<summary> /// Default constructor. ///</summary> ///<param name="progressMonitor">The progress monitor to display information for.</param> public ProgressMonitorDialog(ObservableProgressMonitor progressMonitor) { InitializeComponent(); this.progressMonitor = progressMonitor; progressMonitor.Changed += OnProgressMonitorOnChanged; }
/// <summary> /// Called when a subtask changes in any way, including one of its own subtasks changing. /// </summary> /// <param name="subProgressMonitor">The sub-progress monitor.</param> protected virtual void NotifyRecursiveSubTaskChanged(ObservableProgressMonitor subProgressMonitor) { if (subProgressMonitor == null) { throw new ArgumentNullException("subProgressMonitor"); } OnRecursiveSubTaskChange(subProgressMonitor); }
/// <summary> /// Creates an event object. /// </summary> /// <param name="subProgressMonitor">The new sub-progress monitor.</param> /// <exception cref="ArgumentNullException">Thrown if <paramref name="subProgressMonitor"/> is null.</exception> public SubProgressMonitorCreatedEventArgs(ObservableProgressMonitor subProgressMonitor) { if (subProgressMonitor == null) { throw new ArgumentNullException("subProgressMonitor"); } this.subProgressMonitor = subProgressMonitor; }
/// <inheritdoc /> public void Present(ObservableProgressMonitor progressMonitor) { if (progressMonitor == null) throw new ArgumentNullException("progressMonitor"); if (this.progressMonitor != null) throw new InvalidOperationException("The presenter cannot be reused multiple times."); this.progressMonitor = progressMonitor; Initialize(); }
/// <inheritdoc /> public void Present(ObservableProgressMonitor progressMonitor) { if (progressMonitor == null) { throw new ArgumentNullException("progressMonitor"); } if (this.progressMonitor != null) { throw new InvalidOperationException("The presenter cannot be reused multiple times."); } this.progressMonitor = progressMonitor; Initialize(); }
/// <summary> /// Creates a sub-progress monitor. /// </summary> /// <param name="parent">The parent progress monitor.</param> /// <param name="parentWorkUnits">The total number of work units of the parent task /// that are to be represented by the sub-task.</param> public SubProgressMonitor(ObservableProgressMonitor parent, double parentWorkUnits) { if (parent == null) { throw new ArgumentNullException("parent"); } if (double.IsInfinity(parentWorkUnits) || double.IsNaN(parentWorkUnits) || parentWorkUnits < 0.0) { throw new ArgumentOutOfRangeException("parentWorkUnits", parentWorkUnits, "Parent work units must be finite and non-negative."); } this.parent = parent; this.parentWorkUnits = parentWorkUnits; }
private void BeginNextTask(string queueId, ICommand command, IDictionary<string, ThreadTask> tasks) { var workerTask = new ThreadTask(queueId, () => { var progressMonitor = new ObservableProgressMonitor(); eventAggregator.Send(this, new TaskStarted(queueId, progressMonitor)); command.Execute(progressMonitor); }); tasks.Add(queueId, workerTask); workerTask.Terminated += delegate { TaskTerminated(workerTask, queueId); }; workerTask.Start(); }
/// <summary> /// Ends a sub-task in a sub-progress monitor. /// </summary> /// <param name="subProgressMonitor">The sub-progress monitor.</param> protected virtual void EndSubTask(ObservableProgressMonitor subProgressMonitor) { if (subProgressMonitor == null) { throw new ArgumentNullException("subProgressMonitor"); } if (!isRunning) { throw new InvalidOperationException("Subtasks may not be ended unless the task is running."); } if (child != subProgressMonitor) { throw new InvalidOperationException("The sub-progress monitor does not represent the current sub-task."); } child = null; OnEndSubTask(subProgressMonitor); }
/// <summary> /// Begins a sub-task in a sub-progress monitor. /// </summary> /// <param name="subProgressMonitor">The sub-progress monitor.</param> protected virtual void BeginSubTask(ObservableProgressMonitor subProgressMonitor) { if (subProgressMonitor == null) { throw new ArgumentNullException("subProgressMonitor"); } if (!isRunning) { throw new InvalidOperationException("Subtasks may not be started unless the task is running."); } if (child != null) { throw new InvalidOperationException("There is already an active sub-task."); } child = subProgressMonitor; OnBeginSubTask(subProgressMonitor); }
/// <summary> /// Called when a new progress monitor is created. /// </summary> protected virtual void OnSubProgressMonitorCreated(ObservableProgressMonitor subProgressMonitor) { EventHandlerPolicy.SafeInvoke(SubProgressMonitorCreated, this, new SubProgressMonitorCreatedEventArgs(subProgressMonitor)); }
/// <summary> /// Called when <see cref="NotifyRecursiveSubTaskChanged" /> performs its updates. /// </summary> /// <param name="subProgressMonitor">The sub-task's progress monitor.</param> protected virtual void OnRecursiveSubTaskChange(ObservableProgressMonitor subProgressMonitor) { OnChange(); }
/// <summary> /// Called when <see cref="EndSubTask" /> performs its updates. /// </summary> /// <param name="subProgressMonitor">The sub-task's progress monitor.</param> protected virtual void OnEndSubTask(ObservableProgressMonitor subProgressMonitor) { OnChange(); }
/// <summary> /// Called when a subtask changes in any way, including one of its own subtasks changing. /// </summary> /// <param name="subProgressMonitor">The sub-progress monitor.</param> protected virtual void NotifyRecursiveSubTaskChanged(ObservableProgressMonitor subProgressMonitor) { if (subProgressMonitor == null) throw new ArgumentNullException("subProgressMonitor"); OnRecursiveSubTaskChange(subProgressMonitor); }
/// <summary> /// Ends a sub-task in a sub-progress monitor. /// </summary> /// <param name="subProgressMonitor">The sub-progress monitor.</param> protected virtual void EndSubTask(ObservableProgressMonitor subProgressMonitor) { if (subProgressMonitor == null) throw new ArgumentNullException("subProgressMonitor"); if (!isRunning) throw new InvalidOperationException("Subtasks may not be ended unless the task is running."); if (child != subProgressMonitor) throw new InvalidOperationException("The sub-progress monitor does not represent the current sub-task."); child = null; OnEndSubTask(subProgressMonitor); }
public void Present(ObservableProgressMonitor progressMonitor) { progressMonitor.TaskStarting += progressMonitor_TaskStarting; progressMonitor.TaskFinished += progressMonitor_TaskFinished; }
/// <summary> /// Called when a new progress monitor is created. /// </summary> protected virtual void OnSubProgressMonitorCreated(ObservableProgressMonitor subProgressMonitor) { EventHandlerPolicy.SafeInvoke(SubProgressMonitorCreated, this, new SubProgressMonitorCreatedEventArgs(subProgressMonitor)); }
/// <summary> /// Called when <see cref="NotifyRecursiveSubTaskChanged" /> performs its updates. /// </summary> /// <param name="subProgressMonitor">The sub-task's progress monitor.</param> protected virtual void OnRecursiveSubTaskChange(ObservableProgressMonitor subProgressMonitor) { OnChange(); }
/// <summary> /// Called when <see cref="EndSubTask" /> performs its updates. /// </summary> /// <param name="subProgressMonitor">The sub-task's progress monitor.</param> protected virtual void OnEndSubTask(ObservableProgressMonitor subProgressMonitor) { OnChange(); }
/// <summary> /// Creates a sub-progress monitor. /// </summary> /// <param name="parent">The parent progress monitor.</param> /// <param name="parentWorkUnits">The total number of work units of the parent task /// that are to be represented by the sub-task.</param> public SubProgressMonitor(ObservableProgressMonitor parent, double parentWorkUnits) { if (parent == null) throw new ArgumentNullException("parent"); if (double.IsInfinity(parentWorkUnits) || double.IsNaN(parentWorkUnits) || parentWorkUnits < 0.0) throw new ArgumentOutOfRangeException("parentWorkUnits", parentWorkUnits, "Parent work units must be finite and non-negative."); this.parent = parent; this.parentWorkUnits = parentWorkUnits; }
///<summary> /// Ctor. ///</summary> ///<param name="queueId">The queue id.</param> ///<param name="progressMonitor">A progress monitor.</param> public TaskStarted(string queueId, ObservableProgressMonitor progressMonitor) { QueueId = queueId; ProgressMonitor = progressMonitor; }
/// <summary> /// Begins a sub-task in a sub-progress monitor. /// </summary> /// <param name="subProgressMonitor">The sub-progress monitor.</param> protected virtual void BeginSubTask(ObservableProgressMonitor subProgressMonitor) { if (subProgressMonitor == null) throw new ArgumentNullException("subProgressMonitor"); if (!isRunning) throw new InvalidOperationException("Subtasks may not be started unless the task is running."); if (child != null) throw new InvalidOperationException("There is already an active sub-task."); child = subProgressMonitor; OnBeginSubTask(subProgressMonitor); }
public ProgressEvent(ObservableProgressMonitor progressMonitor) { ProgressMonitor = progressMonitor; }
public void SetUp() { toolStripStatusLabel = new ToolStripStatusLabel(); progressMonitor = new ObservableProgressMonitor(); }