//////////////////////////////////////////////////////////////////////////////////////////////////// // NoesisGUI - http://www.noesisengine.com // Copyright (c) 2013 Noesis Technologies S.L. All Rights Reserved. //////////////////////////////////////////////////////////////////////////////////////////////////// #include namespace Noesis { //////////////////////////////////////////////////////////////////////////////////////////////////// template inline Ptr UIPropertyMetadata::Create(const T& defaultValue) { ValueStorageManagerImpl* defaultValueManager = new ValueStorageManagerImpl(); return Create(defaultValueManager, &defaultValue); } //////////////////////////////////////////////////////////////////////////////////////////////////// template inline Ptr UIPropertyMetadata::Create(const T& defaultValue, const PropertyChangedCallback& changed) { ValueStorageManagerImpl* defaultValueManager = new ValueStorageManagerImpl(); return Create(defaultValueManager, &defaultValue, changed); } //////////////////////////////////////////////////////////////////////////////////////////////////// template inline Ptr UIPropertyMetadata::Create(const T& defaultValue, const CoerceValueCallback& coerce) { ValueStorageManagerImpl* defaultValueManager = new ValueStorageManagerImpl(); return Create(defaultValueManager, &defaultValue, coerce); } //////////////////////////////////////////////////////////////////////////////////////////////////// template inline Ptr UIPropertyMetadata::Create(const T& defaultValue, const PropertyChangedCallback& changed, const CoerceValueCallback& coerce) { ValueStorageManagerImpl* defaultValueManager = new ValueStorageManagerImpl(); return Create(defaultValueManager, &defaultValue, changed, coerce); } }