//////////////////////////////////////////////////////////////////////////////////////////////////// // NoesisGUI - http://www.noesisengine.com // Copyright (c) 2013 Noesis Technologies S.L. All Rights Reserved. //////////////////////////////////////////////////////////////////////////////////////////////////// #ifndef __GUI_INOTIFYPROPERTYCHANGED_H__ #define __GUI_INOTIFYPROPERTYCHANGED_H__ #include #include #include #include namespace Noesis { class BaseComponent; template class Delegate; //////////////////////////////////////////////////////////////////////////////////////////////////// /// Contains state information for the PropertyChanged event. //////////////////////////////////////////////////////////////////////////////////////////////////// struct PropertyChangedEventArgs: public EventArgs { Symbol propertyName; PropertyChangedEventArgs(Symbol name): propertyName(name) { } }; typedef Delegate PropertyChangedEventHandler; //////////////////////////////////////////////////////////////////////////////////////////////////// /// Notifies clients that a property value has changed. //////////////////////////////////////////////////////////////////////////////////////////////////// NS_INTERFACE INotifyPropertyChanged: public Interface { /// Occurs when a property value changes virtual PropertyChangedEventHandler& PropertyChanged() = 0; NS_IMPLEMENT_INLINE_REFLECTION_(INotifyPropertyChanged, Interface) }; } #endif