using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
namespace RealTimeGraphX
{
///
/// Represents an supported graph object.
///
///
public abstract class GraphObject : INotifyPropertyChanged
{
///
/// Occurs when a property value changes.
///
[field: NonSerialized]
public event PropertyChangedEventHandler PropertyChanged;
///
/// Raises the property changed event.
///
/// Name of the property.
protected virtual void RaisePropertyChangedAuto([CallerMemberName] string caller = null)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(caller));
}
///
/// Raises the property changed event.
///
/// Name of the property.
protected virtual void RaisePropertyChanged(String propName)
{
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propName));
}
}
}