From eb44c1271ef9768e8d2ebd928d69ddc9c55412fb Mon Sep 17 00:00:00 2001 From: ww-rm Date: Wed, 5 Mar 2025 16:24:19 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SpineViewer/Controls/SpinePreviewer.cs | 4 +-- SpineViewer/Spine/Spine.cs | 6 ++-- SpineViewer/Spine/TypeConverter.cs | 6 ++-- SpineViewer/TypeConverter.cs | 46 +------------------------- 4 files changed, 9 insertions(+), 53 deletions(-) diff --git a/SpineViewer/Controls/SpinePreviewer.cs b/SpineViewer/Controls/SpinePreviewer.cs index b567043..7a1f252 100644 --- a/SpineViewer/Controls/SpinePreviewer.cs +++ b/SpineViewer/Controls/SpinePreviewer.cs @@ -24,11 +24,11 @@ namespace SpineViewer.Controls public PreviewerProperty(SpinePreviewer previewer) { this.previewer = previewer; } - [TypeConverter(typeof(SizeTypeConverter))] + [TypeConverter(typeof(SizeConverter))] [Category("导出"), DisplayName("分辨率")] public Size Resolution { get => previewer.Resolution; set => previewer.Resolution = value; } - [TypeConverter(typeof(PointFTypeConverter))] + [TypeConverter(typeof(PointFConverter))] [Category("导出"), DisplayName("画面中心点")] public PointF Center { get => previewer.Center; set => previewer.Center = value; } diff --git a/SpineViewer/Spine/Spine.cs b/SpineViewer/Spine/Spine.cs index ccf6509..1fa3586 100644 --- a/SpineViewer/Spine/Spine.cs +++ b/SpineViewer/Spine/Spine.cs @@ -136,7 +136,7 @@ namespace SpineViewer.Spine /// /// 获取所属版本 /// - [TypeConverter(typeof(VersionTypeConverter))] + [TypeConverter(typeof(VersionConverter))] [Category("基本信息"), DisplayName("版本")] public Version Version { get; } @@ -164,7 +164,7 @@ namespace SpineViewer.Spine /// /// 位置 /// - [TypeConverter(typeof(PointFTypeConverter))] + [TypeConverter(typeof(PointFConverter))] [Category("变换"), DisplayName("位置")] public abstract PointF Position { get; set; } @@ -202,7 +202,7 @@ namespace SpineViewer.Spine /// /// 当前动画名称 /// - [TypeConverter(typeof(AnimationTypeConverter))] + [TypeConverter(typeof(AnimationConverter))] [Category("动画"), DisplayName("当前动画")] public abstract string CurrentAnimation { get; set; } diff --git a/SpineViewer/Spine/TypeConverter.cs b/SpineViewer/Spine/TypeConverter.cs index b66d0b5..48110d0 100644 --- a/SpineViewer/Spine/TypeConverter.cs +++ b/SpineViewer/Spine/TypeConverter.cs @@ -9,9 +9,9 @@ using System.Threading.Tasks; namespace SpineViewer.Spine { - public class VersionTypeConverter : EnumConverter + public class VersionConverter : EnumConverter { - public VersionTypeConverter() : base(typeof(Version)) { } + public VersionConverter() : base(typeof(Version)) { } public override object? ConvertTo(ITypeDescriptorContext? context, CultureInfo? culture, object? value, Type? destinationType) { @@ -25,7 +25,7 @@ namespace SpineViewer.Spine } } - public class AnimationTypeConverter : StringConverter + public class AnimationConverter : StringConverter { public override bool GetStandardValuesSupported(ITypeDescriptorContext? context) { diff --git a/SpineViewer/TypeConverter.cs b/SpineViewer/TypeConverter.cs index 2274ed9..967edc7 100644 --- a/SpineViewer/TypeConverter.cs +++ b/SpineViewer/TypeConverter.cs @@ -9,7 +9,7 @@ using System.Threading.Tasks; namespace SpineViewer { - public class PointFTypeConverter : ExpandableObjectConverter + public class PointFConverter : ExpandableObjectConverter { public override bool CanConvertTo(ITypeDescriptorContext? context, [NotNullWhen(true)] Type? destinationType) { @@ -52,48 +52,4 @@ namespace SpineViewer public override bool GetPropertiesSupported(ITypeDescriptorContext? context) => true; } - - public class SizeTypeConverter : ExpandableObjectConverter - { - public override bool CanConvertTo(ITypeDescriptorContext? context, [NotNullWhen(true)] Type? destinationType) - { - return destinationType == typeof(string) || base.CanConvertTo(context, destinationType); - } - - public override object? ConvertTo(ITypeDescriptorContext? context, CultureInfo? culture, object? value, Type destinationType) - { - if (destinationType == typeof(string) && value is Size size) - { - return $"{size.Width}, {size.Height}"; - } - return base.ConvertTo(context, culture, value, destinationType); - } - - public override bool CanConvertFrom(ITypeDescriptorContext? context, Type sourceType) - { - return sourceType == typeof(string) || base.CanConvertFrom(context, sourceType); - } - - public override object? ConvertFrom(ITypeDescriptorContext? context, CultureInfo? culture, object value) - { - if (value is string str) - { - var parts = str.Split(','); - if (parts.Length == 2 && - int.TryParse(parts[0], out var width) && - int.TryParse(parts[1], out var height)) - { - return new Size(width, height); - } - } - return base.ConvertFrom(context, culture, value); - } - - public override PropertyDescriptorCollection GetProperties(ITypeDescriptorContext? context, object value, Attribute[]? attributes) - { - return TypeDescriptor.GetProperties(typeof(Size), attributes); - } - - public override bool GetPropertiesSupported(ITypeDescriptorContext? context) => true; - } }