/************************************************************************************* Extended WPF Toolkit Copyright (C) 2007-2013 Xceed Software Inc. This program is provided to you under the terms of the Microsoft Public License (Ms-PL) as published at http://wpftoolkit.codeplex.com/license For more features, controls, and fast professional support, pick up the Plus Edition at http://xceed.com/wpf_toolkit Stay informed: follow @datagrid on Twitter or Like http://facebook.com/datagrids ***********************************************************************************/ using System; using System.ComponentModel; using System.Globalization; namespace Xceed.Wpf.Toolkit.Media.Animation { public class IterativeEquationConverter : TypeConverter { public override bool CanConvertFrom( ITypeDescriptorContext typeDescriptorContext, Type type ) { return type == typeof( string ); } public override bool CanConvertTo( ITypeDescriptorContext typeDescriptorContext, Type type ) { return type == typeof( IterativeEquation ); } public override object ConvertFrom( ITypeDescriptorContext typeDescriptorContext, CultureInfo cultureInfo, object value ) { IterativeEquation result = null; if( value is string ) { switch( value as string ) { case "BackEaseIn": result = PennerEquations.BackEaseIn as IterativeEquation; break; case "BackEaseInOut": result = PennerEquations.BackEaseInOut as IterativeEquation; break; case "BackEaseOut": result = PennerEquations.BackEaseOut as IterativeEquation; break; case "BounceEaseIn": result = PennerEquations.BounceEaseIn as IterativeEquation; break; case "BounceEaseInOut": result = PennerEquations.BounceEaseInOut as IterativeEquation; break; case "BounceEaseOut": result = PennerEquations.BounceEaseOut as IterativeEquation; break; case "CircEaseIn": result = PennerEquations.CircEaseIn as IterativeEquation; break; case "CircEaseInOut": result = PennerEquations.CircEaseInOut as IterativeEquation; break; case "CircEaseOut": result = PennerEquations.CircEaseOut as IterativeEquation; break; case "CubicEaseIn": result = PennerEquations.CubicEaseIn as IterativeEquation; break; case "CubicEaseInOut": result = PennerEquations.CubicEaseInOut as IterativeEquation; break; case "CubicEaseOut": result = PennerEquations.CubicEaseOut as IterativeEquation; break; case "ElasticEaseIn": result = PennerEquations.ElasticEaseIn as IterativeEquation; break; case "ElasticEaseInOut": result = PennerEquations.ElasticEaseInOut as IterativeEquation; break; case "ElasticEaseOut": result = PennerEquations.ElasticEaseOut as IterativeEquation; break; case "ExpoEaseIn": result = PennerEquations.ExpoEaseIn as IterativeEquation; break; case "ExpoEaseInOut": result = PennerEquations.ExpoEaseInOut as IterativeEquation; break; case "ExpoEaseOut": result = PennerEquations.ExpoEaseOut as IterativeEquation; break; case "Linear": result = PennerEquations.Linear as IterativeEquation; break; case "QuadEaseIn": result = PennerEquations.QuadEaseIn as IterativeEquation; break; case "QuadEaseInOut": result = PennerEquations.QuadEaseInOut as IterativeEquation; break; case "QuadEaseOut": result = PennerEquations.QuadEaseOut as IterativeEquation; break; case "QuartEaseIn": result = PennerEquations.QuartEaseIn as IterativeEquation; break; case "QuartEaseInOut": result = PennerEquations.QuartEaseInOut as IterativeEquation; break; case "QuartEaseOut": result = PennerEquations.QuartEaseOut as IterativeEquation; break; case "QuintEaseIn": result = PennerEquations.QuintEaseIn as IterativeEquation; break; case "QuintEaseInOut": result = PennerEquations.QuintEaseInOut as IterativeEquation; break; case "QuintEaseOut": result = PennerEquations.QuintEaseOut as IterativeEquation; break; case "SineEaseIn": result = PennerEquations.SineEaseIn as IterativeEquation; break; case "SineEaseInOut": result = PennerEquations.SineEaseInOut as IterativeEquation; break; case "SineEaseOut": result = PennerEquations.SineEaseOut as IterativeEquation; break; } } return result; } } }