コード例 #1
0
        ///<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;
        }
コード例 #2
0
        /// <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);
        }
コード例 #3
0
        /// <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;
        }
コード例 #4
0
        /// <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();
        }
コード例 #5
0
        /// <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();
        }
コード例 #6
0
            /// <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;
            }
コード例 #7
0
ファイル: TaskRunner.cs プロジェクト: dougrathbone/mbunit-v3
        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();
        }
コード例 #8
0
        /// <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);
        }
コード例 #9
0
        /// <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);
        }
コード例 #10
0
 /// <summary>
 /// Called when a new progress monitor is created.
 /// </summary>
 protected virtual void OnSubProgressMonitorCreated(ObservableProgressMonitor subProgressMonitor)
 {
     EventHandlerPolicy.SafeInvoke(SubProgressMonitorCreated, this, new SubProgressMonitorCreatedEventArgs(subProgressMonitor));
 }
コード例 #11
0
 /// <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();
 }
コード例 #12
0
 /// <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();
 }
コード例 #13
0
        /// <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);
        }
コード例 #14
0
        /// <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);
        }
コード例 #15
0
 public void Present(ObservableProgressMonitor progressMonitor)
 {
     progressMonitor.TaskStarting += progressMonitor_TaskStarting;
     progressMonitor.TaskFinished += progressMonitor_TaskFinished;
 }
コード例 #16
0
 /// <summary>
 /// Called when a new progress monitor is created.
 /// </summary>
 protected virtual void OnSubProgressMonitorCreated(ObservableProgressMonitor subProgressMonitor)
 {
     EventHandlerPolicy.SafeInvoke(SubProgressMonitorCreated, this, new SubProgressMonitorCreatedEventArgs(subProgressMonitor));
 }
コード例 #17
0
 /// <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();
 }
コード例 #18
0
 /// <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();
 }
コード例 #19
0
            /// <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;
            }
コード例 #20
0
ファイル: TaskStarted.cs プロジェクト: dougrathbone/mbunit-v3
 ///<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;
 }
コード例 #21
0
        /// <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);
        }
コード例 #22
0
 public ProgressEvent(ObservableProgressMonitor progressMonitor)
 {
     ProgressMonitor = progressMonitor;
 }
コード例 #23
0
 public void SetUp()
 {
     toolStripStatusLabel = new ToolStripStatusLabel();
     progressMonitor = new ObservableProgressMonitor();
 }