You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
144 lines
5.1 KiB
144 lines
5.1 KiB
/*************************************************************************************
|
|
|
|
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;
|
|
using Xceed.Wpf.Toolkit.Panels;
|
|
|
|
namespace Xceed.Wpf.Toolkit.Panels
|
|
{
|
|
public sealed class AnimatorConverter : TypeConverter
|
|
{
|
|
public override bool CanConvertFrom( ITypeDescriptorContext typeDescriptorContext, Type type )
|
|
{
|
|
return ( type == typeof( string ) );
|
|
}
|
|
|
|
public override bool CanConvertTo( ITypeDescriptorContext typeDescriptorContext, Type type )
|
|
{
|
|
return ( type == typeof( IterativeAnimator ) )
|
|
|| ( type == typeof( DoubleAnimator ) );
|
|
}
|
|
|
|
public override object ConvertFrom(
|
|
ITypeDescriptorContext typeDescriptorContext, CultureInfo cultureInfo, object value )
|
|
{
|
|
IterativeAnimator result = null;
|
|
if( value is string )
|
|
{
|
|
switch( value as string )
|
|
{
|
|
case "BackEaseIn":
|
|
result = Animators.BackEaseIn as IterativeAnimator;
|
|
break;
|
|
case "BackEaseInOut":
|
|
result = Animators.BackEaseInOut as IterativeAnimator;
|
|
break;
|
|
case "BackEaseOut":
|
|
result = Animators.BackEaseOut as IterativeAnimator;
|
|
break;
|
|
case "BounceEaseIn":
|
|
result = Animators.BounceEaseIn as IterativeAnimator;
|
|
break;
|
|
case "BounceEaseInOut":
|
|
result = Animators.BounceEaseInOut as IterativeAnimator;
|
|
break;
|
|
case "BounceEaseOut":
|
|
result = Animators.BounceEaseOut as IterativeAnimator;
|
|
break;
|
|
case "CircEaseIn":
|
|
result = Animators.CircEaseIn as IterativeAnimator;
|
|
break;
|
|
case "CircEaseInOut":
|
|
result = Animators.CircEaseInOut as IterativeAnimator;
|
|
break;
|
|
case "CircEaseOut":
|
|
result = Animators.CircEaseOut as IterativeAnimator;
|
|
break;
|
|
case "CubicEaseIn":
|
|
result = Animators.CubicEaseIn as IterativeAnimator;
|
|
break;
|
|
case "CubicEaseInOut":
|
|
result = Animators.CubicEaseInOut as IterativeAnimator;
|
|
break;
|
|
case "CubicEaseOut":
|
|
result = Animators.CubicEaseOut as IterativeAnimator;
|
|
break;
|
|
case "ElasticEaseIn":
|
|
result = Animators.ElasticEaseIn as IterativeAnimator;
|
|
break;
|
|
case "ElasticEaseInOut":
|
|
result = Animators.ElasticEaseInOut as IterativeAnimator;
|
|
break;
|
|
case "ElasticEaseOut":
|
|
result = Animators.ElasticEaseOut as IterativeAnimator;
|
|
break;
|
|
case "ExpoEaseIn":
|
|
result = Animators.ExpoEaseIn as IterativeAnimator;
|
|
break;
|
|
case "ExpoEaseInOut":
|
|
result = Animators.ExpoEaseInOut as IterativeAnimator;
|
|
break;
|
|
case "ExpoEaseOut":
|
|
result = Animators.ExpoEaseOut as IterativeAnimator;
|
|
break;
|
|
case "Linear":
|
|
result = Animators.Linear as IterativeAnimator;
|
|
break;
|
|
case "QuadEaseIn":
|
|
result = Animators.QuadEaseIn as IterativeAnimator;
|
|
break;
|
|
case "QuadEaseInOut":
|
|
result = Animators.QuadEaseInOut as IterativeAnimator;
|
|
break;
|
|
case "QuadEaseOut":
|
|
result = Animators.QuadEaseOut as IterativeAnimator;
|
|
break;
|
|
case "QuartEaseIn":
|
|
result = Animators.QuartEaseIn as IterativeAnimator;
|
|
break;
|
|
case "QuartEaseInOut":
|
|
result = Animators.QuartEaseInOut as IterativeAnimator;
|
|
break;
|
|
case "QuartEaseOut":
|
|
result = Animators.QuartEaseOut as IterativeAnimator;
|
|
break;
|
|
case "QuintEaseIn":
|
|
result = Animators.QuintEaseIn as IterativeAnimator;
|
|
break;
|
|
case "QuintEaseInOut":
|
|
result = Animators.QuintEaseInOut as IterativeAnimator;
|
|
break;
|
|
case "QuintEaseOut":
|
|
result = Animators.QuintEaseOut as IterativeAnimator;
|
|
break;
|
|
case "SineEaseIn":
|
|
result = Animators.SineEaseIn as IterativeAnimator;
|
|
break;
|
|
case "SineEaseInOut":
|
|
result = Animators.SineEaseInOut as IterativeAnimator;
|
|
break;
|
|
case "SineEaseOut":
|
|
result = Animators.SineEaseOut as IterativeAnimator;
|
|
break;
|
|
}
|
|
}
|
|
|
|
return result;
|
|
}
|
|
}
|
|
}
|
|
|