Mercurial > pub > bltoolkit
comparison Tools/DocGen/Content/Doc/EditableObjects/EditableObject.cs @ 0:f990fcb411a9
Копия текущей версии из github
author | cin |
---|---|
date | Thu, 27 Mar 2014 21:46:09 +0400 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:f990fcb411a9 |
---|---|
1 [BLToolkitGenerated] | |
2 public sealed class TestObject : EditableObjectTest.TestObject, IEditable, IMemberwiseEditable, IPrintDebugState | |
3 { | |
4 // Note that the internal representation of the properties is EditableValue<string>. | |
5 // The EditableValue class provides a mechanism to keep and control the field value state. | |
6 // | |
7 private /*[a]*/EditableValue<string>/*[/a]*/ _firstName; | |
8 private /*[a]*/EditableValue<string>/*[/a]*/ _lastName; | |
9 | |
10 // PropertyInfo is used for internal purposes. | |
11 // | |
12 private static PropertyInfo _firstName_propertyInfo = | |
13 TypeHelper.GetPropertyInfo(typeof(EditableObjectTest.TestObject), "FirstName", typeof(string), Type.EmptyTypes); | |
14 private static PropertyInfo _lastName_propertyInfo = | |
15 TypeHelper.GetPropertyInfo(typeof(EditableObjectTest.TestObject), "LastName", typeof(string), Type.EmptyTypes); | |
16 | |
17 // Constructors. | |
18 // | |
19 public TestObject() | |
20 { | |
21 this._firstName = new EditableValue<string>(""); | |
22 this._lastName = new EditableValue<string>(""); | |
23 } | |
24 | |
25 public TestObject(InitContext ctx) | |
26 { | |
27 this._firstName = new EditableValue<string>(""); | |
28 this._lastName = new EditableValue<string>(""); | |
29 } | |
30 | |
31 // Abstract property implementation. | |
32 // | |
33 public override string FirstName | |
34 { | |
35 get | |
36 { | |
37 return _firstName./*[a]*/Value/*[/a]*/; | |
38 } | |
39 | |
40 set | |
41 { | |
42 _firstName./*[a]*/Value/*[/a]*/ = value; | |
43 | |
44 // The PropertyChanged event support. | |
45 // | |
46 ((IPropertyChanged)this)./*[a]*/OnPropertyChanged/*[/a]*/(_firstName_propertyInfo); | |
47 } | |
48 } | |
49 | |
50 public override string LastName | |
51 { | |
52 get | |
53 { | |
54 return _lastName./*[a]*/Value/*[/a]*/; | |
55 } | |
56 | |
57 set | |
58 { | |
59 _lastName./*[a]*/Value/*[/a]*/ = value; | |
60 ((IPropertyChanged)this)./*[a]*/OnPropertyChanged/*[/a]*/(_lastName_propertyInfo); | |
61 } | |
62 } | |
63 | |
64 // The IEditable interface implementation. | |
65 // | |
66 bool IEditable.IsDirty | |
67 { | |
68 get { return _firstName.IsDirty || _lastName.IsDirty; } | |
69 } | |
70 | |
71 void IEditable.AcceptChanges() | |
72 { | |
73 this._firstName.AcceptChanges(); | |
74 this._lastName. AcceptChanges(); | |
75 } | |
76 | |
77 void IEditable.RejectChanges() | |
78 { | |
79 this._firstName.RejectChanges(); | |
80 this._lastName. RejectChanges(); | |
81 } | |
82 | |
83 // The IMemberwiseEditable interface implementation. | |
84 // | |
85 bool IMemberwiseEditable.AcceptMemberChanges(PropertyInfo propertyInfo, string memberName) | |
86 { | |
87 return | |
88 _firstName.AcceptMemberChanges(_firstName_propertyInfo, memberName) || | |
89 _lastName. AcceptMemberChanges(_lastName_propertyInfo, memberName); | |
90 } | |
91 | |
92 void IMemberwiseEditable.GetDirtyMembers(PropertyInfo propertyInfo, ArrayList list) | |
93 { | |
94 _firstName.GetDirtyMembers(_firstName_propertyInfo, list); | |
95 _lastName. GetDirtyMembers(_lastName_propertyInfo, list); | |
96 } | |
97 | |
98 bool IMemberwiseEditable.IsDirtyMember(PropertyInfo propertyInfo, string memberName, ref bool isDirty) | |
99 { | |
100 return | |
101 _firstName.IsDirtyMember(_firstName_propertyInfo, memberName, ref isDirty) || | |
102 _lastName. IsDirtyMember(_lastName_propertyInfo, memberName, ref isDirty); | |
103 } | |
104 | |
105 bool IMemberwiseEditable.RejectMemberChanges(PropertyInfo propertyInfo, string memberName) | |
106 { | |
107 return | |
108 _firstName.RejectMemberChanges(_firstName_propertyInfo, memberName) || | |
109 _lastName. RejectMemberChanges(_lastName_propertyInfo, memberName); | |
110 } | |
111 | |
112 // The IPrintDebugState interface implementation. | |
113 // | |
114 void IPrintDebugState.PrintDebugState(PropertyInfo propertyInfo, ref string str) | |
115 { | |
116 _firstName.PrintDebugState(_firstName_propertyInfo, ref str); | |
117 _lastName. PrintDebugState(_lastName_propertyInfo, ref str); | |
118 } | |
119 } |