Drop of Mainsoft.System.Data
[mono.git] / mcs / class / System.Data / System.Data / DataRelationPropertyDescriptor.cs
1 using System;\r
2 using System.ComponentModel;\r
3 \r
4 namespace System.Data\r
5 {\r
6         internal class DataRelationPropertyDescriptor : PropertyDescriptor\r
7         {\r
8                 #region Fields\r
9 \r
10                 DataRelation _relation;\r
11 \r
12                 #endregion // Fields\r
13 \r
14                 #region Constructors\r
15 \r
16                 internal DataRelationPropertyDescriptor(DataRelation relation) : base(relation.RelationName,null)\r
17                 {\r
18                         _relation = relation;\r
19                 }\r
20 \r
21                 #endregion // Constructors\r
22 \r
23                 #region Properties\r
24 \r
25                 public override Type ComponentType \r
26                 { \r
27                         get {\r
28                                 return typeof(DataRowView);\r
29                         }\r
30                 }\r
31 \r
32                 public override bool IsReadOnly \r
33                 { \r
34                         get {\r
35                                 return false;\r
36                         }\r
37                 }\r
38 \r
39                 public override Type PropertyType \r
40                 { \r
41                         get {\r
42                                 return typeof(IBindingList);\r
43                         }\r
44                 }\r
45 \r
46                 public DataRelation Relation \r
47                 { \r
48                         get {\r
49                                 return _relation;\r
50                         }\r
51                 }\r
52 \r
53                 #endregion // Properties\r
54 \r
55                 #region Methods\r
56 \r
57                 public override bool CanResetValue(object obj)\r
58                 {\r
59                         return false;\r
60                 }\r
61 \r
62                 public override bool Equals(object obj)\r
63                 {\r
64                         DataRelationPropertyDescriptor descriptor = obj as DataRelationPropertyDescriptor;\r
65 \r
66                         if (descriptor == null) {\r
67                                 return false;\r
68                         }\r
69 \r
70                         return (Relation == descriptor.Relation);\r
71                 }\r
72 \r
73                 public override int GetHashCode()\r
74                 {\r
75                         return _relation.GetHashCode();\r
76                 }\r
77 \r
78         public override object GetValue(object obj)\r
79                 {\r
80                         DataRowView dr = (DataRowView)obj;\r
81                         return dr.CreateChildView(Relation);\r
82                 }\r
83 \r
84                 public override void ResetValue(object obj)\r
85                 {\r
86                 }\r
87 \r
88                 public override void SetValue(object obj, object val)\r
89                 {\r
90                 }\r
91 \r
92                 public override bool ShouldSerializeValue(object obj)\r
93                 {\r
94                         return false;\r
95                 }\r
96 \r
97                 #endregion // Methods\r
98         }\r
99 }\r