New test.
[mono.git] / mcs / class / System.XML / System.Xml / XmlNodeChangedEventArgs.cs
1
2 //
3 // Permission is hereby granted, free of charge, to any person obtaining
4 // a copy of this software and associated documentation files (the
5 // "Software"), to deal in the Software without restriction, including
6 // without limitation the rights to use, copy, modify, merge, publish,
7 // distribute, sublicense, and/or sell copies of the Software, and to
8 // permit persons to whom the Software is furnished to do so, subject to
9 // the following conditions:
10 // 
11 // The above copyright notice and this permission notice shall be
12 // included in all copies or substantial portions of the Software.
13 // 
14 // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
15 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
16 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
17 // NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
18 // LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
19 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
20 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
21 //
22 using System;
23
24 namespace System.Xml
25 {
26         /// <summary>
27         /// Passed to delegates on document tree changes
28         /// </summary>
29 #if NET_2_0
30         public class XmlNodeChangedEventArgs : EventArgs
31 #else
32         public class XmlNodeChangedEventArgs
33 #endif
34         {
35                 // Private data members
36                 XmlNode _oldParent;
37                 XmlNode _newParent;
38                 XmlNodeChangedAction _action;
39                 XmlNode _node;
40                 string _oldValue;
41                 string _newValue;
42
43                 // public properties
44                 public XmlNodeChangedAction Action 
45                 { 
46                         get
47                         {
48                                 return _action;
49                         }
50                 } 
51
52                 public XmlNode Node 
53                 { 
54                         get
55                         {
56                                 return _node;
57                         }
58                 } 
59
60
61                 public XmlNode OldParent 
62                 { 
63                         get
64                         {
65                                 return _oldParent;
66                         }
67                 } 
68
69
70                 public XmlNode NewParent 
71                 { 
72                         get
73                         {
74                                 return _newParent;
75                         }
76                 } 
77
78
79 #if NET_2_0
80                 public string OldValue
81                 {
82                         get
83                         {
84                                 return _oldValue != null ? _oldValue : _node.Value;
85                         }
86                 }
87                 
88
89                 public string NewValue
90                 {
91                         get
92                         {
93                                 return _newValue != null ? _newValue : _node.Value;
94                         }
95                 }
96 #endif
97
98 #if NET_2_0
99                 public
100 #else
101                 internal
102 #endif
103                 XmlNodeChangedEventArgs (
104                         XmlNode node, 
105                         XmlNode oldParent,
106                         XmlNode newParent,
107                         string oldValue,
108                         string newValue,
109                         XmlNodeChangedAction action)
110                 {
111                         _node = node;
112                         _oldParent = oldParent;
113                         _newParent = newParent;
114                         _oldValue = oldValue;
115                         _newValue = newValue;
116                         _action = action;
117                 }
118         }
119 }