diff --git a/MatterControlLib/SlicerConfiguration/UIFields/EnumDisplayField.cs b/MatterControlLib/SlicerConfiguration/UIFields/EnumDisplayField.cs index 786386033..f9181ee4a 100644 --- a/MatterControlLib/SlicerConfiguration/UIFields/EnumDisplayField.cs +++ b/MatterControlLib/SlicerConfiguration/UIFields/EnumDisplayField.cs @@ -29,6 +29,7 @@ either expressed or implied, of the FreeBSD Project. using System; using System.Collections.Generic; +using System.ComponentModel; using System.Linq; using MatterHackers.Agg; using MatterHackers.Agg.Image; @@ -61,6 +62,26 @@ namespace MatterHackers.MatterControl.SlicerConfiguration // Enum keyed on name to friendly name var enumItems = Enum.GetNames(property.PropertyType).Select(enumName => (enumName, enumName.Replace('_', ' '))); + string GetDescription(Enum value) + { + var type = value.GetType(); + + var name = Enum.GetName(type, value); + + if (name != null) + { + if (Attribute.GetCustomAttribute(property, property.PropertyType) is DescriptionAttribute attr) + { + return attr.Description; + } + } + + return name; + } + + var enumDescriptions = Enum.GetValues(property.PropertyType); + + switch (enumDisplayAttibute.Mode) { case EnumDisplayAttribute.PresentationMode.IconRow: diff --git a/Submodules/agg-sharp b/Submodules/agg-sharp index 5d5b72c45..46598e782 160000 --- a/Submodules/agg-sharp +++ b/Submodules/agg-sharp @@ -1 +1 @@ -Subproject commit 5d5b72c45986bf1b5048dc43680a06677126c7ec +Subproject commit 46598e782d08077aad9fc79234c0c8ebc64690c1