Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
07/04/19 14:45:47 (5 years ago)
Author:
mkommend
Message:

#2845: Merged 16430 into stable.

Location:
stable
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • stable

  • stable/HeuristicLab.MainForm/3.3/Interfaces/IProgress.cs

    r15584 r17062  
    2424
    2525namespace HeuristicLab.MainForm {
    26   public enum ProgressState { Started = 1, Canceled = 2, Finished = 3 };
     26  public enum ProgressState { Started, Finished, StopRequested, CancelRequested }
     27  public enum ProgressMode { Determinate, Indeterminate }
    2728
    2829  public interface IProgress : IContent {
     30    ProgressState ProgressState { get; }
     31
     32    string Message { get; set; }
     33
     34    ProgressMode ProgressMode { get; set; }
    2935    /// <summary>
    30     /// Gets or sets the currently associated status text with the progress.
     36    /// Gets or sets the currently associated progress value in the range [0;1] (values outside the range are truncated).
     37    /// Changing the ProgressValue when <c>ProgressMode</c> is <c>Indeterminate</c> raises an Exception.
    3138    /// </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.
    36     /// </summary>
     39    /// <exception cref="InvalidOperationException">Setting the ProgressValue-property while in the Indeterminate state is invalid.</exception>
    3740    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>
    48     bool CanBeCanceled { get; }
    4941
    50     /// <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.
    54     /// </summary>
    55     /// <exception cref="NotSupportedException">Thrown when cancellation is not supported.</exception>
     42    bool CanBeStopped { get; set; }
     43    bool CanBeCanceled { get; set; }
     44
     45    void Start(string message, ProgressMode mode = ProgressMode.Determinate);
     46    void Finish();
     47    void Stop();
    5648    void Cancel();
    57     /// <summary>
    58     /// Sets the ProgressValue to 1 and the ProgressState to Finished.
    59     /// </summary>
    60     void Finish();
    6149
    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>
     50    event EventHandler ProgressStateChanged;
     51    event EventHandler MessageChanged;
     52    event EventHandler ProgressBarModeChanged;
    7653    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>
     54    event EventHandler CanBeStoppedChanged;
    8455    event EventHandler CanBeCanceledChanged;
    85     /// <summary>
    86     /// A cancelation is requested.
    87     /// </summary>
     56    event EventHandler StopRequested;
    8857    event EventHandler CancelRequested;
    8958  }
Note: See TracChangeset for help on using the changeset viewer.