mirror of https://github.com/ArduPilot/ardupilot
31 lines
935 B
C#
31 lines
935 B
C#
|
using System.ComponentModel;
|
||
|
|
||
|
namespace ArducopterConfigurator
|
||
|
{
|
||
|
public abstract class NotifyProperyChangedBase : INotifyPropertyChanged
|
||
|
{
|
||
|
public event PropertyChangedEventHandler PropertyChanged;
|
||
|
|
||
|
protected bool CheckPropertyChanged<T>(string propertyName, ref T oldValue, ref T newValue)
|
||
|
{
|
||
|
if (oldValue == null && newValue == null)
|
||
|
return false;
|
||
|
|
||
|
if ((oldValue == null && newValue != null) || !oldValue.Equals((T)newValue))
|
||
|
{
|
||
|
oldValue = newValue;
|
||
|
FirePropertyChanged(propertyName);
|
||
|
return true;
|
||
|
}
|
||
|
|
||
|
return false;
|
||
|
}
|
||
|
|
||
|
protected void FirePropertyChanged(string propertyName)
|
||
|
{
|
||
|
if (PropertyChanged != null)
|
||
|
PropertyChanged(this, new PropertyChangedEventArgs(propertyName));
|
||
|
}
|
||
|
|
||
|
}
|
||
|
}
|