diff --git a/MatterControlLib/Library/Providers/GeneratorItem.cs b/MatterControlLib/Library/Providers/GeneratorItem.cs
index a845b20ca..d5fa5c3e2 100644
--- a/MatterControlLib/Library/Providers/GeneratorItem.cs
+++ b/MatterControlLib/Library/Providers/GeneratorItem.cs
@@ -74,7 +74,7 @@ namespace MatterHackers.MatterControl.Library
///
/// The delegate responsible for producing the item
///
- private Func collector;
+ private Func> collector;
public GeneratorItem(Func nameResolver)
{
@@ -82,7 +82,7 @@ namespace MatterHackers.MatterControl.Library
this.IsProtected = true;
}
- public GeneratorItem(Func nameResolver, Func collector, string category = null)
+ public GeneratorItem(Func nameResolver, Func> collector, string category = null)
{
this.nameResolver = nameResolver;
this.collector = collector;
@@ -114,17 +114,17 @@ namespace MatterHackers.MatterControl.Library
public bool LocalContentExists => true;
- public Task GetObject3D(Action reportProgress)
+ public async Task GetObject3D(Action reportProgress)
{
- var result = collector?.Invoke();
+ var object3D = await collector?.Invoke();
// If the content has not set a color, we'll assign from the running ColorRange
- if (result.Color == Color.Transparent)
+ if (object3D.Color == Color.Transparent)
{
- result.Color = this.Color;
+ object3D.Color = this.Color;
}
- return Task.FromResult(result);
+ return object3D;
}
}
}
\ No newline at end of file
diff --git a/MatterControlLib/Library/Providers/MatterControl/PrimitivesContainer.cs b/MatterControlLib/Library/Providers/MatterControl/PrimitivesContainer.cs
index 848cf8ea4..41c8e3bc5 100644
--- a/MatterControlLib/Library/Providers/MatterControl/PrimitivesContainer.cs
+++ b/MatterControlLib/Library/Providers/MatterControl/PrimitivesContainer.cs
@@ -1,5 +1,5 @@
/*
-Copyright (c) 2017, John Lewin
+Copyright (c) 2019, John Lewin
All rights reserved.
Redistribution and use in source and binary forms, with or without
@@ -30,12 +30,11 @@ either expressed or implied, of the FreeBSD Project.
using System;
using System.Collections.Generic;
using System.IO;
+using System.Threading.Tasks;
using MatterHackers.Agg.Platform;
using MatterHackers.DataConverters3D;
using MatterHackers.Localizations;
using MatterHackers.MatterControl.DesignTools;
-using MatterHackers.MatterControl.DesignTools.Operations;
-using MatterHackers.MatterControl.Plugins.BrailleBuilder;
namespace MatterHackers.MatterControl.Library
{
@@ -55,57 +54,57 @@ namespace MatterHackers.MatterControl.Library
{
new GeneratorItem(
() => "Cube".Localize(),
- () => CubeObject3D.Create())
+ () => Task.FromResult(CubeObject3D.Create()))
{ DateCreated = new System.DateTime(index++) },
new GeneratorItem(
() => "Pyramid".Localize(),
- () => PyramidObject3D.Create())
+ () => Task.FromResult(PyramidObject3D.Create()))
{ DateCreated = new System.DateTime(index++) },
new GeneratorItem(
() => "Wedge".Localize(),
- () => WedgeObject3D.Create())
+ () => Task.FromResult(WedgeObject3D.Create()))
{ DateCreated = new System.DateTime(index++) },
new GeneratorItem(
() => "Half Wedge".Localize(),
- () => HalfWedgeObject3D.Create())
+ () => Task.FromResult(HalfWedgeObject3D.Create()))
{ DateCreated = new System.DateTime(index++) },
new GeneratorItem(
() => "Text".Localize(),
- () => TextObject3D.Create().Result)
+ async () => await TextObject3D.Create())
{ DateCreated = new System.DateTime(index++) },
#if DEBUG
new GeneratorItem(
() => "Text".Localize(),
- () => TextPathObject3D.Create())
+ () => Task.FromResult(TextPathObject3D.Create()))
{ DateCreated = new System.DateTime(index++) },
#endif
new GeneratorItem(
() => "Cylinder".Localize(),
- () => CylinderObject3D.Create())
+ () => Task.FromResult(CylinderObject3D.Create()))
{ DateCreated = new System.DateTime(index++) },
new GeneratorItem(
() => "Cone".Localize(),
- () => ConeObject3D.Create().Result)
+ async () => await ConeObject3D.Create())
{ DateCreated = new System.DateTime(index++) },
new GeneratorItem(
() => "Half Cylinder".Localize(),
- () => HalfCylinderObject3D.Create())
+ () => Task.FromResult(HalfCylinderObject3D.Create()))
{ DateCreated = new System.DateTime(index++) },
new GeneratorItem(
() => "Torus".Localize(),
- () => TorusObject3D.Create())
+ () => Task.FromResult(TorusObject3D.Create()))
{ DateCreated = new System.DateTime(index++) },
new GeneratorItem(
() => "Ring".Localize(),
- () => RingObject3D.Create())
+ () => Task.FromResult(RingObject3D.Create()))
{ DateCreated = new System.DateTime(index++) },
new GeneratorItem(
() => "Sphere".Localize(),
- () => SphereObject3D.Create())
+ () => Task.FromResult(SphereObject3D.Create()))
{ DateCreated = new System.DateTime(index++) },
new GeneratorItem(
() => "Half Sphere".Localize(),
- () => HalfSphereObject3D.Create())
+ () => Task.FromResult(HalfSphereObject3D.Create()))
{ DateCreated = new System.DateTime(index++) },
new GeneratorItem(
() => "Image Converter".Localize(),
@@ -129,7 +128,7 @@ namespace MatterHackers.MatterControl.Library
var constructedComponent = tempScene.SelectedItem;
tempScene.Children.Remove(constructedComponent);
- return constructedComponent;
+ return Task.FromResult(constructedComponent);
})
{ DateCreated = new System.DateTime(index++) },
};