diff options
| author | jpbruyere <jp.bruyere@hotmail.com> | 2016-02-25 11:35:03 +0100 |
|---|---|---|
| committer | jpbruyere <jp.bruyere@hotmail.com> | 2016-02-25 11:35:03 +0100 |
| commit | dd6682973fa16921b7ebaf5faa416290c3211c63 (patch) | |
| tree | 5c6b3d098165a9c5da0e5a7a8944423bcaa90294 /src | |
| parent | 42fcd3657d6425005ed7f429fe9b73cfb6fcf1c6 (diff) | |
replace StyleAttribute=>DefaultStyle
Diffstat (limited to 'src')
| -rw-r--r-- | src/GraphicObjects/GraphicObject.cs | 15 | ||||
| -rw-r--r-- | src/GraphicObjects/TemplatedControl.cs | 16 |
2 files changed, 10 insertions, 21 deletions
diff --git a/src/GraphicObjects/GraphicObject.cs b/src/GraphicObjects/GraphicObject.cs index 23748b3a..e8453937 100644 --- a/src/GraphicObjects/GraphicObject.cs +++ b/src/GraphicObjects/GraphicObject.cs @@ -438,7 +438,7 @@ namespace Crow (LogicalParent as GraphicObject).DataSource : dataSource; } } - [XmlAttributeAttribute][DefaultValue(null)] + [XmlAttributeAttribute] public virtual string Style { get { return style; } set { @@ -484,8 +484,6 @@ namespace Crow il.Emit(OpCodes.Nop); - StyleAttribute[] style = thisType.GetCustomAttributes().OfType<StyleAttribute>().ToArray(); - foreach (PropertyInfo pi in thisType.GetProperties(BindingFlags.Public | BindingFlags.Instance)) { string name = ""; object defaultValue = null; @@ -504,16 +502,17 @@ namespace Crow else name = xaa.AttributeName; } - - StyleAttribute piStyle = style.Where(s => s.PropertyName == pi.Name).FirstOrDefault(); - if (piStyle != null){ - defaultValue = piStyle.DefaultValue; + if (name == "Style"){ + //retrieve default value from class attribute + DefaultStyle defStyle = thisType.GetCustomAttribute<DefaultStyle>(); + if (defStyle != null) + defaultValue = defStyle.Path; }else{ DefaultValueAttribute dv = (DefaultValueAttribute)pi.GetCustomAttribute (typeof(DefaultValueAttribute)); if (dv == null) continue; defaultValue = dv.Value; - } + } #endregion il.Emit (OpCodes.Ldarg_0); diff --git a/src/GraphicObjects/TemplatedControl.cs b/src/GraphicObjects/TemplatedControl.cs index c1c48fc7..f09d10aa 100644 --- a/src/GraphicObjects/TemplatedControl.cs +++ b/src/GraphicObjects/TemplatedControl.cs @@ -28,7 +28,7 @@ using System.Diagnostics; namespace Crow { -// [AttributeUsage(AttributeTargets.Class)] + [AttributeUsage(AttributeTargets.Class)] public class TemplateAttribute : Attribute { public string Path = ""; @@ -38,14 +38,9 @@ namespace Crow } } [AttributeUsage(AttributeTargets.Class)] - public class StyleAttribute : Attribute + public class DefaultStyle : TemplateAttribute { - public string PropertyName = ""; - public object DefaultValue = null; - public StyleAttribute(string _property, object _defValue){ - PropertyName = _property; - DefaultValue = _defValue; - } + public DefaultStyle(string path) : base(path){} } [AttributeUsage(AttributeTargets.Class)] public class DefaultTemplate : TemplateAttribute @@ -53,11 +48,6 @@ namespace Crow public DefaultTemplate(string path) : base(path){} } [AttributeUsage(AttributeTargets.Class)] - public class DefaultOverlayTemplate : TemplateAttribute - { - public DefaultOverlayTemplate(string path) : base(path){} - } - [AttributeUsage(AttributeTargets.Class)] public class DefaultItemTemplate : TemplateAttribute { public DefaultItemTemplate(string path) : base(path){} |