diff --git a/OpenNest.WinForms.Tests/Forms/MainStatusBarTests.cs b/OpenNest.WinForms.Tests/Forms/MainStatusBarTests.cs
index 528c3068..86e8c27c 100644
--- a/OpenNest.WinForms.Tests/Forms/MainStatusBarTests.cs
+++ b/OpenNest.WinForms.Tests/Forms/MainStatusBarTests.cs
@@ -12,11 +12,28 @@ public class MainStatusBarTests
CultureInfo.CurrentCulture = CultureInfo.InvariantCulture;
try
{
- Assert.Equal("Material: A36 · 0.25 in", MainStatusBar.FormatMaterial("A36", 0.25, Units.Inches));
- Assert.Equal("Material: 304 SS · 3 mm", MainStatusBar.FormatMaterial(" 304 SS ", 3, Units.Millimeters));
- Assert.Equal("Material: A36", MainStatusBar.FormatMaterial("A36", 0, Units.Inches));
- Assert.Equal("Material: 0.1875 in", MainStatusBar.FormatMaterial(null, 0.1875, Units.Inches));
- Assert.Equal("Material: (none)", MainStatusBar.FormatMaterial("", 0, Units.Inches));
+ Assert.Equal("Material: A36 · 0.25 in", MainStatusBar.FormatMaterial("A36", null, 0.25, Units.Inches));
+ Assert.Equal("Material: 304 SS · 3 mm", MainStatusBar.FormatMaterial(" 304 SS ", "", 3, Units.Millimeters));
+ Assert.Equal("Material: A36", MainStatusBar.FormatMaterial("A36", null, 0, Units.Inches));
+ Assert.Equal("Material: 0.1875 in", MainStatusBar.FormatMaterial(null, null, 0.1875, Units.Inches));
+ Assert.Equal("Material: (none)", MainStatusBar.FormatMaterial("", " ", 0, Units.Inches));
+ }
+ finally
+ {
+ CultureInfo.CurrentCulture = previous;
+ }
+ }
+
+ [Fact]
+ public void FormatMaterial_ShowsGradeAfterName()
+ {
+ var previous = CultureInfo.CurrentCulture;
+ CultureInfo.CurrentCulture = CultureInfo.InvariantCulture;
+ try
+ {
+ Assert.Equal("Material: Steel A36 · 0.25 in", MainStatusBar.FormatMaterial("Steel", " A36 ", 0.25, Units.Inches));
+ Assert.Equal("Material: Aluminum 5052", MainStatusBar.FormatMaterial("Aluminum", "5052", 0, Units.Inches));
+ Assert.Equal("Material: 304 · 3 mm", MainStatusBar.FormatMaterial(null, "304", 3, Units.Millimeters));
}
finally
{
diff --git a/OpenNest/Forms/MainStatusBar.cs b/OpenNest/Forms/MainStatusBar.cs
index 93aed25c..04b17b5e 100644
--- a/OpenNest/Forms/MainStatusBar.cs
+++ b/OpenNest/Forms/MainStatusBar.cs
@@ -224,7 +224,7 @@ namespace OpenNest.Forms
var nest = form.Nest;
machine.Text = FormatMachine(nest.Machine);
- material.Text = FormatMaterial(nest.Material?.Name, nest.Thickness, nest.Units);
+ material.Text = FormatMaterial(nest.Material?.Name, nest.Material?.Grade, nest.Thickness, nest.Units);
plateUtil.Text = string.Format(
"Util: {0:P1}",
@@ -240,12 +240,16 @@ namespace OpenNest.Forms
return "Machine: " + (string.IsNullOrWhiteSpace(machine.Name) ? "(unnamed)" : machine.Name.Trim());
}
- /// Status text for the nest's material and thickness, e.g. "Material: A36 · 0.25 in".
- internal static string FormatMaterial(string name, double thickness, Units units)
+ ///
+ /// Status text for the nest's material, grade and thickness, e.g. "Material: Steel A36 · 0.25 in".
+ ///
+ internal static string FormatMaterial(string name, string grade, double thickness, Units units)
{
var parts = new List();
- if (!string.IsNullOrWhiteSpace(name))
- parts.Add(name.Trim());
+ var description = string.Join(" ", new[] { name?.Trim(), grade?.Trim() }
+ .Where(s => !string.IsNullOrEmpty(s)));
+ if (description.Length > 0)
+ parts.Add(description);
if (thickness > 0)
parts.Add(thickness.ToString("0.####", CultureInfo.CurrentCulture) + " " + UnitsHelper.GetShortString(units));