Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Input / Command / MouseActionConverter.cs / 1305600 / MouseActionConverter.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: MouseActionConverter - Converts a MouseAction string // to the *Type* that the string represents // // // History: // 05/01/2003 : Chandrasekhar Rentachintala - Created // //--------------------------------------------------------------------------- using System; using System.ComponentModel; // for TypeConverter using System.Globalization; // for CultureInfo using System.Reflection; using MS.Internal; using System.Windows; using System.Windows.Input; using MS.Utility; using SR=MS.Internal.PresentationCore.SR; using SRID=MS.Internal.PresentationCore.SRID; namespace System.Windows.Input { ////// MouseAction - Converter class for converting between a string and the Type of a MouseAction /// public class MouseActionConverter : TypeConverter { ////// CanConvertFrom - Used to check whether we can convert a string into a MouseAction /// ///ITypeDescriptorContext ///type to convert from ///true if the given type can be converted, false otherwise public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { // We can only handle string. if (sourceType == typeof(string)) { return true; } else { return false; } } //////TypeConverter method override. /// ///ITypeDescriptorContext ///Type to convert to ///true if conversion is possible 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; } ////// ConvertFrom() /// /// Parser Context /// Culture Info /// MouseAction String ///public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object source) { if (source != null && source is string) { string mouseActionToken = ((string)source).Trim(); mouseActionToken = mouseActionToken.ToUpper(CultureInfo.InvariantCulture); if (mouseActionToken == String.Empty) return MouseAction.None; MouseAction mouseAction = MouseAction.None; switch (mouseActionToken) { case "LEFTCLICK" : mouseAction = MouseAction.LeftClick; break; case "RIGHTCLICK" : mouseAction = MouseAction.RightClick; break; case "MIDDLECLICK" : mouseAction = MouseAction.MiddleClick; break; case "WHEELCLICK" : mouseAction = MouseAction.WheelClick; break; case "LEFTDOUBLECLICK" : mouseAction = MouseAction.LeftDoubleClick; break; case "RIGHTDOUBLECLICK" : mouseAction = MouseAction.RightDoubleClick; break; case "MIDDLEDOUBLECLICK": mouseAction = MouseAction.MiddleDoubleClick; break; default : throw new NotSupportedException(SR.Get(SRID.Unsupported_MouseAction, mouseActionToken)); } return mouseAction; } throw GetConvertFromException(source); } /// /// ConvertTo() /// /// Serialization Context /// Culture Info /// MouseAction value /// Type to Convert ///string if parameter is a MouseAction 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); } // Helper like Enum.IsDefined, for MouseAction. internal static bool IsDefinedMouseAction(MouseAction mouseAction) { return (mouseAction >= MouseAction.None && mouseAction <= MouseAction.MiddleDoubleClick); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: MouseActionConverter - Converts a MouseAction string // to the *Type* that the string represents // // // History: // 05/01/2003 : Chandrasekhar Rentachintala - Created // //--------------------------------------------------------------------------- using System; using System.ComponentModel; // for TypeConverter using System.Globalization; // for CultureInfo using System.Reflection; using MS.Internal; using System.Windows; using System.Windows.Input; using MS.Utility; using SR=MS.Internal.PresentationCore.SR; using SRID=MS.Internal.PresentationCore.SRID; namespace System.Windows.Input { ////// MouseAction - Converter class for converting between a string and the Type of a MouseAction /// public class MouseActionConverter : TypeConverter { ////// CanConvertFrom - Used to check whether we can convert a string into a MouseAction /// ///ITypeDescriptorContext ///type to convert from ///true if the given type can be converted, false otherwise public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) { // We can only handle string. if (sourceType == typeof(string)) { return true; } else { return false; } } //////TypeConverter method override. /// ///ITypeDescriptorContext ///Type to convert to ///true if conversion is possible 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; } ////// ConvertFrom() /// /// Parser Context /// Culture Info /// MouseAction String ///public override object ConvertFrom(ITypeDescriptorContext context, CultureInfo culture, object source) { if (source != null && source is string) { string mouseActionToken = ((string)source).Trim(); mouseActionToken = mouseActionToken.ToUpper(CultureInfo.InvariantCulture); if (mouseActionToken == String.Empty) return MouseAction.None; MouseAction mouseAction = MouseAction.None; switch (mouseActionToken) { case "LEFTCLICK" : mouseAction = MouseAction.LeftClick; break; case "RIGHTCLICK" : mouseAction = MouseAction.RightClick; break; case "MIDDLECLICK" : mouseAction = MouseAction.MiddleClick; break; case "WHEELCLICK" : mouseAction = MouseAction.WheelClick; break; case "LEFTDOUBLECLICK" : mouseAction = MouseAction.LeftDoubleClick; break; case "RIGHTDOUBLECLICK" : mouseAction = MouseAction.RightDoubleClick; break; case "MIDDLEDOUBLECLICK": mouseAction = MouseAction.MiddleDoubleClick; break; default : throw new NotSupportedException(SR.Get(SRID.Unsupported_MouseAction, mouseActionToken)); } return mouseAction; } throw GetConvertFromException(source); } /// /// ConvertTo() /// /// Serialization Context /// Culture Info /// MouseAction value /// Type to Convert ///string if parameter is a MouseAction 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); } // Helper like Enum.IsDefined, for MouseAction. internal static bool IsDefinedMouseAction(MouseAction mouseAction) { return (mouseAction >= MouseAction.None && mouseAction <= MouseAction.MiddleDoubleClick); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- AppSettingsSection.cs
- StreamAsIStream.cs
- CellTreeNodeVisitors.cs
- returneventsaver.cs
- Variable.cs
- SafeLibraryHandle.cs
- mansign.cs
- SqlRowUpdatedEvent.cs
- IconHelper.cs
- _OverlappedAsyncResult.cs
- SqlXml.cs
- UnhandledExceptionEventArgs.cs
- CompositeFontFamily.cs
- BuildProviderAppliesToAttribute.cs
- XmlNamespaceManager.cs
- UshortList2.cs
- BookmarkEventArgs.cs
- Geometry3D.cs
- RtfToXamlReader.cs
- WebHttpBehavior.cs
- XmlValidatingReader.cs
- UnsafeNetInfoNativeMethods.cs
- ServiceModelEnhancedConfigurationElementCollection.cs
- FeatureSupport.cs
- DesignerOptionService.cs
- ItemsPanelTemplate.cs
- WithParamAction.cs
- XmlnsCache.cs
- UriTemplateDispatchFormatter.cs
- CommandHelpers.cs
- WebPartMenuStyle.cs
- FlowNode.cs
- SoapAttributeAttribute.cs
- WinInetCache.cs
- PolyBezierSegment.cs
- HttpDebugHandler.cs
- BrushValueSerializer.cs
- IBuiltInEvidence.cs
- ExceptionHelpers.cs
- DataSourceCache.cs
- Command.cs
- ComplexObject.cs
- XmlName.cs
- PTUtility.cs
- UidPropertyAttribute.cs
- EntityCommandDefinition.cs
- SingletonChannelAcceptor.cs
- SqlBuffer.cs
- XpsThumbnail.cs
- Decoder.cs
- QualifiedCellIdBoolean.cs
- WebSysDisplayNameAttribute.cs
- FtpWebRequest.cs
- XamlLoadErrorInfo.cs
- PackageDigitalSignature.cs
- PropertyGeneratedEventArgs.cs
- WindowInteractionStateTracker.cs
- DataGridRowEventArgs.cs
- ConnectionString.cs
- ExecutionEngineException.cs
- columnmapkeybuilder.cs
- ToolBarButton.cs
- Util.cs
- DrawItemEvent.cs
- MetadataProperty.cs
- EdmMember.cs
- DbConnectionPoolGroupProviderInfo.cs
- ClientConfigPaths.cs
- DataGridPagerStyle.cs
- filewebresponse.cs
- HashRepartitionStream.cs
- GlyphElement.cs
- ToolStripPanelRenderEventArgs.cs
- WindowsToolbarItemAsMenuItem.cs
- MimeObjectFactory.cs
- TextFormatterImp.cs
- ModulesEntry.cs
- VectorValueSerializer.cs
- ClickablePoint.cs
- ControllableStoryboardAction.cs
- DrawingContext.cs
- ConfigXmlWhitespace.cs
- CodeComment.cs
- ComplexType.cs
- BaseInfoTable.cs
- DataSysAttribute.cs
- CatalogPartDesigner.cs
- Site.cs
- HtmlElementEventArgs.cs
- InlineUIContainer.cs
- Int32CollectionConverter.cs
- BitmapFrame.cs
- SchemaElementDecl.cs
- UnsafePeerToPeerMethods.cs
- PointLight.cs
- GridSplitterAutomationPeer.cs
- WebPartConnectionsDisconnectVerb.cs
- SliderAutomationPeer.cs
- HTTPNotFoundHandler.cs
- ClientProxyGenerator.cs