Revise long running task title assignment and draw position

- Issue MatterHackers/MCCentral#2737
long running task overlaps title and content
This commit is contained in:
John Lewin 2018-02-20 18:27:52 -08:00
parent eb8eef1cd9
commit d54e317382
14 changed files with 48 additions and 78 deletions

View file

@ -35,6 +35,7 @@ using System.Threading.Tasks;
using MatterHackers.Agg;
using MatterHackers.Agg.UI;
using MatterHackers.DataConverters3D;
using MatterHackers.Localizations;
using MatterHackers.PolygonMesh;
namespace MatterHackers.MatterControl.PartPreviewWindow.View3D
@ -75,13 +76,11 @@ namespace MatterHackers.MatterControl.PartPreviewWindow.View3D
private void ProcessBooleans(IObject3D group)
{
ApplicationController.Instance.Tasks.Execute((reporter, cancellationToken) =>
ApplicationController.Instance.Tasks.Execute(
"Processing Booleans".Localize(),
(reporter, cancellationToken) =>
{
var progressStatus = new ProgressStatus()
{
Status = "Processing Booleans"
};
var progressStatus = new ProgressStatus();
reporter.Report(progressStatus);
var participants = group.DescendantsAndSelf().Where((obj) => obj.OwnerID == group.ID);

View file

@ -35,6 +35,7 @@ using System.Threading.Tasks;
using MatterHackers.Agg;
using MatterHackers.Agg.UI;
using MatterHackers.DataConverters3D;
using MatterHackers.Localizations;
using MatterHackers.PolygonMesh;
namespace MatterHackers.MatterControl.PartPreviewWindow.View3D
@ -75,14 +76,9 @@ namespace MatterHackers.MatterControl.PartPreviewWindow.View3D
private void ProcessBooleans(IObject3D group)
{
ApplicationController.Instance.Tasks.Execute((reporter, cancellationToken) =>
ApplicationController.Instance.Tasks.Execute("Intersection".Localize(), (reporter, cancellationToken) =>
{
var progressStatus = new ProgressStatus()
{
Status = "Processing Booleans"
};
reporter.Report(progressStatus);
var progressStatus = new ProgressStatus();
var participants = group.DescendantsAndSelf().Where((obj) => obj.OwnerID == group.ID);

View file

@ -190,14 +190,9 @@ namespace MatterHackers.MatterControl.PartPreviewWindow.View3D
private void ProcessBooleans(IObject3D group)
{
// spin up a task to calculate the paint
ApplicationController.Instance.Tasks.Execute((reporter, cancellationToken) =>
ApplicationController.Instance.Tasks.Execute("Subtract".Localize(), (reporter, cancellationToken) =>
{
var progressStatus = new ProgressStatus()
{
Status = "Processing Booleans"
};
reporter.Report(progressStatus);
var progressStatus = new ProgressStatus();
var participants = group.DescendantsAndSelf().Where((obj) => obj.OwnerID == group.ID).ToList();
var paintObjects = participants.Where((obj) => obj.OutputType == PrintOutputTypes.Hole).ToList();

View file

@ -171,22 +171,20 @@ namespace MatterHackers.MatterControl.PartPreviewWindow.View3D
private void ProcessBooleans(IObject3D group)
{
// spin up a task to remove holes from the objects in the group
ApplicationController.Instance.Tasks.Execute((reporter, cancellationToken) =>
{
var progressStatus = new ProgressStatus()
ApplicationController.Instance.Tasks.Execute(
"Subtract".Localize(),
(reporter, cancellationToken) =>
{
Status = "Processing Booleans"
};
var progressStatus = new ProgressStatus();
reporter.Report(progressStatus);
reporter.Report(progressStatus);
var participants = group.Descendants().Where(o => o.OwnerID == group.ID).ToList();
var removeObjects = participants.Where((obj) => obj.OutputType == PrintOutputTypes.Hole).ToList();
var keepObjects = participants.Where((obj) => obj.OutputType != PrintOutputTypes.Hole).ToList();
var participants = group.Descendants().Where(o => o.OwnerID == group.ID).ToList();
var removeObjects = participants.Where((obj) => obj.OutputType == PrintOutputTypes.Hole).ToList();
var keepObjects = participants.Where((obj) => obj.OutputType != PrintOutputTypes.Hole).ToList();
Subtract(keepObjects, removeObjects, cancellationToken, reporter);
return Task.CompletedTask;
});
Subtract(keepObjects, removeObjects, cancellationToken, reporter);
return Task.CompletedTask;
});
}
public static void Subtract(List<IObject3D> keepObjects, List<IObject3D> removeObjects)