~halega/+junk/sharpdevelop

« back to all changes in this revision

Viewing changes to src/AddIns/Misc/Reports/ICSharpCode.Reports.Addin/Project/ReportItems/TypeProviders/TextItemTypeProvider.cs

  • Committer: sk
  • Date: 2011-09-10 05:17:57 UTC
  • Revision ID: halega@halega.com-20110910051757-qfouz1llya9m6boy
4.1.0.7915 Release Candidate 1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * Created by SharpDevelop.
 
3
 * User: Peter Forstmeier
 
4
 * Date: 02.01.2011
 
5
 * Time: 19:56
 
6
 * 
 
7
 * To change this template use Tools | Options | Coding | Edit Standard Headers.
 
8
 */
 
9
using System;
 
10
using System.Collections.Generic;
 
11
using System.ComponentModel;
 
12
using ICSharpCode.Reports.Addin.Designer;
 
13
 
 
14
 
 
15
namespace ICSharpCode.Reports.Addin.TypeProviders
 
16
{
 
17
        internal class TextItemTypeProvider : TypeDescriptionProvider
 
18
        {
 
19
                public TextItemTypeProvider() :  base(TypeDescriptor.GetProvider(typeof(AbstractItem)))
 
20
                {
 
21
                }
 
22
                
 
23
        
 
24
                public override ICustomTypeDescriptor GetTypeDescriptor(Type objectType, object instance)
 
25
                {
 
26
                        ICustomTypeDescriptor td = base.GetTypeDescriptor(objectType,instance);
 
27
                        return new TextItemTypeDescriptor(td, instance);
 
28
                }
 
29
        }
 
30
        
 
31
        
 
32
        internal class TextItemTypeDescriptor : CustomTypeDescriptor
 
33
        {
 
34
//              private BaseTextItem instance;
 
35
                
 
36
                public TextItemTypeDescriptor(ICustomTypeDescriptor parent, object instance)
 
37
                        : base(parent)
 
38
                {
 
39
//                      instance = instance as BaseTextItem;
 
40
                }
 
41
 
 
42
                
 
43
                public override PropertyDescriptorCollection GetProperties()
 
44
                {
 
45
                        return GetProperties(null);
 
46
                }
 
47
 
 
48
                
 
49
                public override PropertyDescriptorCollection GetProperties(Attribute[] attributes)
 
50
                {
 
51
                        PropertyDescriptorCollection props = base.GetProperties(attributes);
 
52
                        List<PropertyDescriptor> allProperties = new List<PropertyDescriptor>();
 
53
 
 
54
                        DesignerHelper.AddDefaultProperties(allProperties,props);
 
55
                        
 
56
                        DesignerHelper.AddTextBasedProperties(allProperties,props);
 
57
                        
 
58
                        PropertyDescriptor prop = prop = props.Find("Text",true);
 
59
                        allProperties.Add(prop);
 
60
                
 
61
                        prop = props.Find("DrawBorder",true);
 
62
                        allProperties.Add(prop);
 
63
                        
 
64
                        prop = props.Find("FrameColor",true);
 
65
                        allProperties.Add(prop);
 
66
                        
 
67
                        prop = props.Find("ForeColor",true);
 
68
                        allProperties.Add(prop);
 
69
                        
 
70
                        prop = props.Find("Visible",true);
 
71
                        allProperties.Add(prop);
 
72
                        
 
73
                        prop = props.Find("Expression",true);
 
74
                        allProperties.Add(prop);
 
75
                        
 
76
                        return new PropertyDescriptorCollection(allProperties.ToArray());
 
77
                }
 
78
        }
 
79
}