Ejemplo n.º 1
0
 ///<summary>
 ///TypeConverter method override.
 ///</summary>
 ///<param name="context">ITypeDescriptorContext</param>
 ///<param name="destinationType">Type to convert to</param>
 ///<returns>true if conversion	is possible</returns>
 public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType)
 {
     // We can convert to an InstanceDescriptor or to a string.
     if (destinationType == typeof(string))
     {
         // When invoked by the serialization engine we can convert to string only for known type
         if (context != null && context.Instance != null)
         {
             return(MouseActionConverter.IsDefinedMouseAction((MouseAction)context.Instance));
         }
     }
     return(false);
 }
Ejemplo n.º 2
0
        /// <summary>
        /// CanConvertToString()
        /// </summary>
        /// <param name="value"></param>
        /// <param name="context"></param>
        /// <returns></returns>
        /// <ExternalAPI/>
        public override bool CanConvertToString(object value, IValueSerializerContext context)
        {
            bool         result       = false;
            MouseGesture mouseGesture = value as MouseGesture;

            if (mouseGesture != null)
            {
                if (ModifierKeysConverter.IsDefinedModifierKeys(mouseGesture.Modifiers) &&
                    MouseActionConverter.IsDefinedMouseAction(mouseGesture.MouseAction))
                {
                    result = true;
                }
            }

            return(result);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// ConvertTo()
        /// </summary>
        /// <param name="context">Serialization Context</param>
        /// <param name="culture">Culture Info</param>
        /// <param name="value">MouseAction value </param>
        /// <param name="destinationType">Type to Convert</param>
        /// <returns>string if parameter is a MouseAction</returns>
        public override object ConvertTo(ITypeDescriptorContext context, CultureInfo culture, object value, Type destinationType)
        {
            if (destinationType == null)
            {
                throw new ArgumentNullException("destinationType");
            }

            if (destinationType == typeof(string) && value != null)
            {
                MouseAction mouseActionValue = (MouseAction)value;
                if (MouseActionConverter.IsDefinedMouseAction(mouseActionValue))
                {
                    string mouseAction = null;
                    switch (mouseActionValue)
                    {
                    case MouseAction.None: mouseAction = String.Empty; break;

                    case MouseAction.LeftClick: mouseAction = "LeftClick"; break;

                    case MouseAction.RightClick: mouseAction = "RightClick"; break;

                    case MouseAction.MiddleClick: mouseAction = "MiddleClick"; break;

                    case MouseAction.WheelClick: mouseAction = "WheelClick"; break;

                    case MouseAction.LeftDoubleClick: mouseAction = "LeftDoubleClick"; break;

                    case MouseAction.RightDoubleClick: mouseAction = "RightDoubleClick"; break;

                    case MouseAction.MiddleDoubleClick: mouseAction = "MiddleDoubleClick"; break;
                    }
                    if (mouseAction != null)
                    {
                        return(mouseAction);
                    }
                }
                throw new InvalidEnumArgumentException("value", (int)mouseActionValue, typeof(MouseAction));
            }
            throw GetConvertToException(value, destinationType);
        }
Ejemplo n.º 4
0
 /// <summary>
 /// CanConvertToString()
 /// </summary>
 /// <param name="value"></param>
 /// <param name="context"></param>
 /// <returns></returns>
 /// <ExternalAPI/>
 public override bool CanConvertToString(object value, IValueSerializerContext context)
 {
     return(value is MouseAction && MouseActionConverter.IsDefinedMouseAction((MouseAction)value));
 }