using System; /// /// This defines an interface which can be implemented by UI elements /// which indicate the progress of a long operation. /// (See ProgressWindow for a typical implementation) /// /// Based on http://www.codeproject.com/cs/miscctrl/progressdialog.asp public interface IProgressCallback { /// /// If this property is true, then you should abort work /// /// /// true if this instance is aborting; otherwise, false. /// bool IsAborting { get; } /// /// Call this method from the worker thread to initialize /// the progress callback. /// /// The minimum. /// The maximum. void Begin(int minimum, int maximum); /// /// Call this method from the worker thread to initialize /// the progress callback, without setting the range /// void Begin(); /// /// Call this method from the worker thread to reset the range in the /// progress callback /// /// The minimum. /// The maximum. void SetRange(int minimum, int maximum); /// /// Call this method from the worker thread to update the progress text. /// /// The text. void SetText(String text); /// /// Call this method from the worker thread to increase the progress /// counter by a specified value. /// /// The val. void StepTo(int val); /// /// Call this method from the worker thread to step the progress meter to a /// particular value. /// /// The val. void Increment(int val); /// /// Call this method from the worker thread to finalize the progress meter /// void End(); }