change UI to UI.WinForms

This commit is contained in:
2025-06-16 11:50:17 +02:00
parent fa3a9da07e
commit 299867a910
116 changed files with 318 additions and 319 deletions

View File

@@ -0,0 +1,11 @@
using Pilz.UI.Telerik.Dialogs;
namespace Pilz.UI.WinForms.Telerik.Extensions;
public static class RadFlyoutBaseExtensions
{
public static bool IsValid(this RadFlyoutBase? @this)
{
return @this != null && @this.Result == DialogResult.OK;
}
}

View File

@@ -0,0 +1,37 @@
using Telerik.WinControls.UI;
namespace Pilz.UI.WinForms.Telerik.Extensions;
public static class RadListDataItemCollectionExtensions
{
public static IEnumerable<RadListDataItem> AddEnumValues<T>(this RadListDataItemCollection @this) where T : struct, Enum
{
return @this.AddEnumValues<T>(false);
}
public static IEnumerable<RadListDataItem> AddEnumValues<T>(this RadListDataItemCollection @this, bool clearCollection) where T : struct, Enum
{
return @this.AddEnumValues<T>(clearCollection, null, null);
}
public static IEnumerable<RadListDataItem> AddEnumValues<T>(this RadListDataItemCollection @this, bool clearCollection, Func<T, bool>? filter, Func<T, string?>? format) where T : struct, Enum
{
var values = Enum.GetValues(typeof(T));
var items = new List<RadListDataItem>();
format ??= v => Enum.GetName(typeof(T), v);
if (clearCollection)
@this.Clear();
foreach (T value in values)
{
if (filter is null || filter(value))
items.Add(new(format(value), value));
}
@this.AddRange(items);
return items;
}
}

View File

@@ -0,0 +1,23 @@
using Telerik.WinControls;
using Telerik.WinControls.Svg;
namespace Pilz.UI.WinForms.Telerik.Extensions;
public static class RadSvgImageExtensions
{
public static Image ToImage(this RadSvgImage svg)
{
return svg.Document.Draw(svg.Width, svg.Height);
}
public static void ApplyColor(this RadSvgImage svg, Color color)
{
svg.Document.Fill = new SvgColourServer(color);
svg.Document.ApplyRecursive(e =>
{
e.Fill = new SvgColourServer(color);
e.Stroke = new SvgColourServer(color);
});
svg.ClearCache();
}
}