/************************************************************************************* Extended WPF Toolkit Copyright (C) 2007-2013 Xceed Software Inc. This program is provided to you under the terms of the Microsoft Public License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license For more features, controls, and fast professional support, pick up the Plus Edition at http://xceed.com/wpf_toolkit Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids ***********************************************************************************/ using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml.Serialization; namespace Xceed.Wpf.AvalonDock.Layout { [Serializable] public abstract class LayoutGroupBase : LayoutElement { [field: NonSerialized] [field: XmlIgnore] public event EventHandler ChildrenCollectionChanged; protected virtual void OnChildrenCollectionChanged() { if (ChildrenCollectionChanged != null) ChildrenCollectionChanged(this, EventArgs.Empty); } protected void NotifyChildrenTreeChanged(ChildrenTreeChange change) { OnChildrenTreeChanged(change); var parentGroup = Parent as LayoutGroupBase; if (parentGroup != null) parentGroup.NotifyChildrenTreeChanged(ChildrenTreeChange.TreeChanged); } [field: NonSerialized] [field: XmlIgnore] public event EventHandler ChildrenTreeChanged; protected virtual void OnChildrenTreeChanged(ChildrenTreeChange change) { if (ChildrenTreeChanged != null) ChildrenTreeChanged(this, new ChildrenTreeChangedEventArgs(change)); } } }