- Timestamp:
- 10/10/17 14:30:37 (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/EnhancedProgress/HeuristicLab.MainForm/3.3/Interfaces/IProgress.cs
r15400 r15415 24 24 25 25 namespace HeuristicLab.MainForm { 26 public enum ProgressState { Started = 1, Canceled = 2, Finished = 3 }; 26 public enum ProgressState { Started, Finished, Stopped, Canceled } 27 public enum ProgressBarMode { Continuous, Marquee } 27 28 28 29 public interface IProgress : IContent { 30 ProgressState ProgressState { get; } 31 string Message { get; set; } 32 ProgressBarMode ProgressBarMode { get; set; } 29 33 /// <summary> 30 /// Gets or sets the currently associated status text with the progress. 31 /// </summary> 32 string Status { get; set; } 33 /// <summary> 34 /// Gets or sets the currently associated progress value in the range (0;1]. 35 /// Values outside this range are permitted and need to be handled in some feasible manner. 34 /// Gets or sets the currently associated progress value in the range [0;1] (values outside the range are truncated). 35 /// Changing the ProgressValue when ProgressBarMode is Marquee raises an Exception. 36 36 /// </summary> 37 37 double ProgressValue { get; set; } 38 /// <summary> 39 /// Gets or sets the current state of the progress. Every progress starts in state 40 /// Started and then becomes either Canceled or Finished. 41 /// If it is reused it may be Started again. 42 /// </summary> 43 ProgressState ProgressState { get; } 44 /// <summary> 45 /// Returns whether the operation can be canceled or not. 46 /// This can change during the course of the progress. 47 /// </summary> 38 bool Visible { get; set; } 39 bool CanBeStopped { get; } 48 40 bool CanBeCanceled { get; } 49 41 50 42 /// <summary> 51 /// Requests the operation behind the process to cancel. 52 /// Check the !ProgressState property when the cancellation succeeded. 53 /// The corresponding event will also notify of a success. 43 /// Start (or Restart) a progress with ProgressBarMode Marquee 54 44 /// </summary> 55 /// <exception cref="NotSupportedException">Thrown when cancellation is not supported.</exception> 45 void Start(string message); 46 /// <summary> 47 /// Start (or Restart) a progress with ProgressBarMode Continues 48 /// </summary> 49 void Start(string message, double progressValue); 50 void Finish(); 51 void Stop(); 56 52 void Cancel(); 57 /// <summary>58 /// Sets the ProgressValue to 1 and the ProgressState to Finished.59 /// </summary>60 void Finish();61 53 62 /// <summary> 63 /// Starts or restarts a Progress. 64 /// </summary> 65 void Start(); 66 67 void Start(string status); 68 69 /// <summary> 70 /// The status text changed. 71 /// </summary> 72 event EventHandler StatusChanged; 73 /// <summary> 74 /// The value of the progress changed. This is the (0;1] progress value from starting to finish. Values outside this range are permitted and need to be handled in some feasible manner. 75 /// </summary> 54 event EventHandler ProgressStateChanged; 55 event EventHandler MessageChanged; 56 event EventHandler ProgressBarModeChanged; 76 57 event EventHandler ProgressValueChanged; 77 /// <summary> 78 /// The state of the progress changed. The handler is supposed to query the ProgressState property. 79 /// </summary> 80 event EventHandler ProgressStateChanged; 81 /// <summary> 82 /// The progress' ability to cancel changed. 83 /// </summary> 58 event EventHandler VisibleChanged; 59 event EventHandler CanBeStoppedChanged; 84 60 event EventHandler CanBeCanceledChanged; 85 /// <summary> 86 /// A cancelation is requested. 87 /// </summary> 61 event EventHandler StopRequested; 88 62 event EventHandler CancelRequested; 89 63 }
Note: See TracChangeset
for help on using the changeset viewer.