#if FRAMEWORK20
using System;
using System.Collections.Generic;
using System.Text;
using System.ComponentModel;
namespace DevComponents.Schedule.Model
{
    /// 
    /// Defines an interface for property notification change.
    /// 
    public interface INotifySubPropertyChanged
    {
        /// 
        /// Occurs when property on object or its sub-objects has changed.
        /// 
        event SubPropertyChangedEventHandler SubPropertyChanged;
    }
    public delegate void SubPropertyChangedEventHandler(object sender, SubPropertyChangedEventArgs e);
    /// 
    /// Defines event arguments for SubPropertyChanged event.
    /// 
    public class SubPropertyChangedEventArgs : EventArgs
    {
        /// 
        /// Reference to PropertyChangedArgs of changed property.
        /// 
        public PropertyChangedEventArgs PropertyChangedArgs = null;
        /// 
        /// Reference to the source object of the event.
        /// 
        public object Source = null;
        /// 
        /// Initializes a new instance of the SubPropertyChangedEventArgs class.
        /// 
        /// 
        /// 
        public SubPropertyChangedEventArgs(object source, PropertyChangedEventArgs propertyChangedArgs)
        {
            PropertyChangedArgs = propertyChangedArgs;
            Source = source;
        }
    }
}
#endif