diff --git a/Pilz.UI.Telerik.Symbols/Factories/BasicFactory.cs b/Pilz.UI.Telerik.Symbols/Factories/BasicFactory.cs new file mode 100644 index 0000000..f6f6a90 --- /dev/null +++ b/Pilz.UI.Telerik.Symbols/Factories/BasicFactory.cs @@ -0,0 +1,18 @@ +using System.Reflection; + +namespace Pilz.UI.Telerik.Symbols.Factories; + +public class BasicFactory(string baseName) : RadSymbolFactory where T : Enum +{ + private Assembly? assembly; + + public override Assembly GetImageResourceAssembly() + { + return assembly ??= Assembly.Load(baseName); + } + + public override string GetImageRessourcePath(T svgImage) + { + return $"{baseName}.Files.{svgImage}.svg"; + } +} diff --git a/Pilz.UI.Telerik.Symbols/Factories/ColorFactory.cs b/Pilz.UI.Telerik.Symbols/Factories/ColorFactory.cs deleted file mode 100644 index e415d3a..0000000 --- a/Pilz.UI.Telerik.Symbols/Factories/ColorFactory.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Pilz.UI.Telerik.Symbols.Sets; -using System.Reflection; - -namespace Pilz.UI.Telerik.Symbols.Factories; - -internal class ColorFactory : RadSymbolFactory -{ - private Assembly? assembly; - - public override Assembly GetImageResourceAssembly() - { - return assembly ??= Assembly.Load("Pilz.SymbolPacks.Color"); - } - - public override string GetImageRessourcePath(SymbolsColor svgImage) - { - return $"Pilz.SymbolPacks.Color.Files.{svgImage}.svg"; - } -} diff --git a/Pilz.UI.Telerik.Symbols/Factories/FluentFactory.cs b/Pilz.UI.Telerik.Symbols/Factories/FluentFactory.cs deleted file mode 100644 index bf21af3..0000000 --- a/Pilz.UI.Telerik.Symbols/Factories/FluentFactory.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Pilz.UI.Telerik.Symbols.Sets; -using System.Reflection; - -namespace Pilz.UI.Telerik.Symbols.Factories; - -internal class FluentFactory : RadSymbolFactory -{ - private Assembly? assembly; - - public override Assembly GetImageResourceAssembly() - { - return assembly ??= Assembly.Load("Pilz.SymbolPacks.Fluent"); - } - - public override string GetImageRessourcePath(SymbolsFluent svgImage) - { - return $"Pilz.SymbolPacks.Fluent.Files.{svgImage}.svg"; - } -} diff --git a/Pilz.UI.Telerik.Symbols/Pilz.UI.Telerik.Symbols.csproj b/Pilz.UI.Telerik.Symbols/Pilz.UI.Telerik.Symbols.csproj index 6b910d7..8cda144 100644 --- a/Pilz.UI.Telerik.Symbols/Pilz.UI.Telerik.Symbols.csproj +++ b/Pilz.UI.Telerik.Symbols/Pilz.UI.Telerik.Symbols.csproj @@ -8,7 +8,7 @@ - 1.0.7 + 1.0.8 True diff --git a/Pilz.UI.Telerik.Symbols/RadSymbols.cs b/Pilz.UI.Telerik.Symbols/RadSymbols.cs index 7f27d48..d66d85a 100644 --- a/Pilz.UI.Telerik.Symbols/RadSymbols.cs +++ b/Pilz.UI.Telerik.Symbols/RadSymbols.cs @@ -8,6 +8,6 @@ public static class RadSymbols private static IRadSymbolFactory? color; private static IRadSymbolFactory? fluent; - public static IRadSymbolFactory Color => color ??= new ColorFactory(); - public static IRadSymbolFactory Fluent => fluent ??= new FluentFactory(); + public static IRadSymbolFactory Color => color ??= new BasicFactory("Pilz.SymbolPacks.Color"); + public static IRadSymbolFactory Fluent => fluent ??= new BasicFactory("Pilz.SymbolPacks.Fluent"); }