feat(progress display): makes the progress display function overridable
This commit is contained in:
@@ -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("")]
|
||||
|
||||
Reference in New Issue
Block a user