2
* Created by SharpDevelop.
3
* User: Peter Forstmeier
7
* To change this template use Tools | Options | Coding | Edit Standard Headers.
10
using System.Collections.Generic;
11
using System.ComponentModel;
12
using ICSharpCode.Reports.Addin.Designer;
15
namespace ICSharpCode.Reports.Addin.TypeProviders
17
internal class TextItemTypeProvider : TypeDescriptionProvider
19
public TextItemTypeProvider() : base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
24
public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
26
ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
27
return new TextItemTypeDescriptor(td, instance);
32
internal class TextItemTypeDescriptor : CustomTypeDescriptor
34
// private BaseTextItem instance;
36
public TextItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
39
// instance = instance as BaseTextItem;
43
public override PropertyDescriptorCollection GetProperties()
45
return GetProperties(null);
49
public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
51
PropertyDescriptorCollection props = base.GetProperties(attributes);
52
List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
54
DesignerHelper.AddDefaultProperties(allProperties,props);
56
DesignerHelper.AddTextBasedProperties(allProperties,props);
58
PropertyDescriptor prop = prop = props.Find("Text",true);
59
allProperties.Add(prop);
61
prop = props.Find("DrawBorder",true);
62
allProperties.Add(prop);
64
prop = props.Find("FrameColor",true);
65
allProperties.Add(prop);
67
prop = props.Find("ForeColor",true);
68
allProperties.Add(prop);
70
prop = props.Find("Visible",true);
71
allProperties.Add(prop);
73
prop = props.Find("Expression",true);
74
allProperties.Add(prop);
76
return new PropertyDescriptorCollection(allProperties.ToArray());