Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
10/10/17 14:30:37 (7 years ago)
Author:
pfleck
Message:

#2845

  • Fixed/Added Progress Cancellation/Stopping
  • Added Visible property to progress and ProgressBarMode.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/EnhancedProgress/HeuristicLab.MainForm/3.3/Interfaces/IProgress.cs

    r15400 r15415  
    2424
    2525namespace 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 }
    2728
    2829  public interface IProgress : IContent {
     30    ProgressState ProgressState { get; }
     31    string Message { get; set; }
     32    ProgressBarMode ProgressBarMode { get; set; }
    2933    /// <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.
    3636    /// </summary>
    3737    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; }
    4840    bool CanBeCanceled { get; }
    4941
    5042    /// <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
    5444    /// </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();
    5652    void Cancel();
    57     /// <summary>
    58     /// Sets the ProgressValue to 1 and the ProgressState to Finished.
    59     /// </summary>
    60     void Finish();
    6153
    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;
    7657    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;
    8460    event EventHandler CanBeCanceledChanged;
    85     /// <summary>
    86     /// A cancelation is requested.
    87     /// </summary>
     61    event EventHandler StopRequested;
    8862    event EventHandler CancelRequested;
    8963  }
Note: See TracChangeset for help on using the changeset viewer.