feat(progress display): makes the progress display function overridable

This commit is contained in:
Dimitrie Stefanescu
2020-10-14 13:31:29 +01:00
parent 53157bc048
commit ed41f2967a
3 changed files with 28 additions and 26 deletions
@@ -56,29 +56,7 @@ namespace GrasshopperAsyncComponent
{
DisplayProgressTimer = new Timer(333) { AutoReset = false };
DisplayProgressTimer.Elapsed += (s, e) =>
{
if (Workers.Count == 0) return;
if (Workers.Count == 1)
{
Message = ProgressReports.Values.Last().ToString("0.00%");
}
else
{
double total = 0;
foreach (var kvp in ProgressReports)
{
total += kvp.Value;
}
Message = (total / Workers.Count).ToString("0.00%");
}
Rhino.RhinoApp.InvokeOnUiThread((Action)delegate
{
OnDisplayExpired(true);
});
};
DisplayProgressTimer.Elapsed += DisplayProgress;
ReportProgress = (id, value) =>
{
@@ -113,6 +91,31 @@ namespace GrasshopperAsyncComponent
Tasks = new List<Task>();
}
public virtual void DisplayProgress(object sender, System.Timers.ElapsedEventArgs e)
{
if (Workers.Count == 0) return;
if (Workers.Count == 1)
{
Message = ProgressReports.Values.Last().ToString("0.00%");
}
else
{
double total = 0;
foreach (var kvp in ProgressReports)
{
total += kvp.Value;
}
Message = (total / Workers.Count).ToString("0.00%");
}
Rhino.RhinoApp.InvokeOnUiThread((Action)delegate
{
OnDisplayExpired(true);
});
}
protected override void BeforeSolveInstance()
{
if (State != 0 && SetData) return;
@@ -78,8 +78,7 @@
</Target>
-->
<PropertyGroup>
<PostBuildEvent>Copy "$(TargetPath)" "$(TargetDir)$(ProjectName).gha"
Erase "$(TargetPath)"</PostBuildEvent>
<PostBuildEvent>Copy "$(TargetPath)" "$(TargetDir)$(ProjectName).gha"</PostBuildEvent>
</PropertyGroup>
<PropertyGroup>
<FallbackCulture>en-US</FallbackCulture>
@@ -8,7 +8,7 @@ using System.Runtime.InteropServices;
[assembly: AssemblyTitle("GrasshopperAsyncComponent")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyCompany("Aec systems")]
[assembly: AssemblyProduct("GrasshopperAsyncComponent")]
[assembly: AssemblyCopyright("Copyright © 2020")]
[assembly: AssemblyTrademark("")]