**** Merged from MCS ****
[mono-project.git] / mcs / class / System.XML / System.Xml / XmlNodeChangedEventArgs.cs
blob7f3ffb956518ab42b77369593dd37e8642ee42e9
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.
22 using System;
24 namespace System.Xml
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
35 // Private data members
36 XmlNode _oldParent;
37 XmlNode _newParent;
38 XmlNodeChangedAction _action;
39 XmlNode _node;
40 string _oldValue;
41 string _newValue;
43 // public properties
44 public XmlNodeChangedAction Action
46 get
48 return _action;
52 public XmlNode Node
54 get
56 return _node;
61 public XmlNode OldParent
63 get
65 return _oldParent;
70 public XmlNode NewParent
72 get
74 return _newParent;
79 #if NET_2_0
80 public string OldValue
82 get
84 return _oldValue != null ? _oldValue : _node.Value;
89 public string NewValue
91 get
93 return _newValue != null ? _newValue : _node.Value;
96 #endif
98 internal XmlNodeChangedEventArgs (
99 XmlNodeChangedAction action,
100 XmlNode node,
101 XmlNode parent,
102 string oldValue,
103 string newValue)
105 _node = node;
106 _oldParent = _newParent = parent;
107 _oldValue = oldValue;
108 _newValue = newValue;
109 _action = action;
113 // Public Methods
114 // Internal Methods
115 internal XmlNodeChangedEventArgs (
116 XmlNodeChangedAction action,
117 XmlNode node,
118 XmlNode oldParent,
119 XmlNode newParent)
121 _node = node;
122 _oldParent = oldParent;
123 _newParent = newParent;
124 _action = action;