]> O.S.I.I.S - jp/crow.git/commitdiff
ParentChanged event in GraphicObject
authorjpbruyere <jp.bruyere@hotmail.com>
Tue, 13 Dec 2016 23:59:29 +0000 (00:59 +0100)
committerjpbruyere <jp.bruyere@hotmail.com>
Tue, 13 Dec 2016 23:59:29 +0000 (00:59 +0100)
src/GraphicObjects/GraphicObject.cs

index 2cdc2aef1e6e55641bc627ea832e837c45e019cb..c7c981b12b0ae61bcf3ca278f948e03e87731cba 100644 (file)
@@ -124,7 +124,14 @@ namespace Crow
                /// </summary>
                [XmlIgnore]public virtual ILayoutable Parent {
                        get { return parent; }
-                       set { parent = value; }
+                       set {
+                               if (parent == value)
+                                       return;
+                               DataSourceChangeEventArgs e = new DataSourceChangeEventArgs (parent, value);
+                               parent = value;
+
+                               onParentChanged (this, e);
+                       }
                }
                [XmlIgnore]public ILayoutable LogicalParent {
                        get { return logicalParent == null ? Parent : logicalParent; }
@@ -178,6 +185,7 @@ namespace Crow
                public event EventHandler Disabled;
                public event EventHandler<LayoutingEventArgs> LayoutChanged;
                public event EventHandler<DataSourceChangeEventArgs> DataSourceChanged;
+               public event EventHandler<DataSourceChangeEventArgs> ParentChanged;
                #endregion
 
                #region public properties
@@ -1225,6 +1233,9 @@ namespace Crow
                public virtual void onDisable(object sender, EventArgs e){
                        Disabled.Raise (this, e);
                }
+               protected virtual void onParentChanged(object sender, DataSourceChangeEventArgs e) {
+                       ParentChanged.Raise (sender, e);
+               }
 
                #region Binding
 //             public void BindMember(string _member, string _expression){