using System; using System.Collections.Generic; using System.Drawing; using System.Data; using System.Linq; using System.Text; using System.Windows.Forms; using System.ComponentModel; using DTS.Slice.PedestrianAndHeadReports; namespace DTS.Slice.Controls { public partial class PedestrianSetupTab : C1.Win.C1Command.C1DockingTabPage, INotifyPropertyChanged { public event PropertyChangedEventHandler PropertyChanged; private LWRLegReportExport _UI; public LWRLegReportExport UI { get { return _UI; } set { _UI = value; } } protected bool SetProperty(ref T storage, T value, String propertyName) { if (object.Equals(storage, value)) return false; storage = value; this.OnPropertyChanged(propertyName); return true; } protected void OnPropertyChanged(string propertyName) { var eventHandler = this.PropertyChanged; if (eventHandler != null) { eventHandler(this, new PropertyChangedEventArgs(propertyName)); } } public PedestrianSetupTab() { } private ReportBase _reportBase; public ReportBase ReportBase { get{ return _reportBase;} set { if (null == value) { return; } if (null != _reportBase) { throw new NotSupportedException(); } SetProperty(ref _reportBase, value, "ReportBase"); ReportBase.PropertyChanged += new PropertyChangedEventHandler(ReportBase_PropertyChanged); } } void ReportBase_PropertyChanged(object sender, PropertyChangedEventArgs e) { if (null != UI) { UI.PropertyChanged(_reportBase.GetReportType(), e.PropertyName); } } } }