-
-
Notifications
You must be signed in to change notification settings - Fork 87
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Implement IProgress<int> and IProgress<string> in ProgressDialog #12
Comments
Thanks @vpenades, that sounds like a great idea. Let me know if you'd like to take a stab at it and send a PR, otherwise I'll get to it soon for the next release. |
PR ready... |
@vpenades Ookii.Dialogs.Wpf now supports .NET 5 as well as .NET Core 3.1, so I thought I'd ping you in case you ever want to start discussing possible improvements to the ps: Don't feel obligated to reply. This is just a friendly ping given your prior interest in this. |
The use case most of the times is going to be background tasks initialized with an Object value that can be cast to multiple versions of I think the interface is not widely used because it's not very well known, but since IProgress<float> // progress reported in values between 0-1
IProgress<int> // progress reported in values between 0-100 It is very tempting to have a structure that keeps all the information required by the progress dialog (percent, text, description), but this must be avoided because that would mean the caller needs to fill that structure, which would force it to have a dependency on the ookii library, this is probably not desirable for background tasks, or pure code libraries that don't want to depend on an UI library. So, in order to pass rich progress information, we need to use only BCL types and collections. Unfortunately, So, I would propose adding these interfaces: IProgress<float> // by far, the implementation I've found most occurences searching on github.
IProgress< KeyValuePair<string,object> > // where key is the name of the property to set (percent, text, desc) Additionally, the current |
Tracking the implementation of |
it could be very useful if ProgressDialog would implement these interfaces:
System.IProgress<int>
to report progress percentageSystem.IProgress<Text>
to report textual progressSo the ProgressDialog object could be passed as a plain object to the running jobs, and casted to
IProgress<int>
andIProgress<Text>
for progress reportingThe text was updated successfully, but these errors were encountered: