Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / Core / CSharp / System / Windows / Input / Command / MouseGesture.cs / 1 / MouseGesture.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: The MouseGesture class is used by the developer to create Gestures for // Mouse Device // // See spec at : http://avalon/coreUI/Specs/Commanding%20--%20design.htm // // // History: // 03/26/2004 : chandras - Created // //--------------------------------------------------------------------------- using System; using System.Windows.Input; using System.Windows; using System.Windows.Markup; using System.ComponentModel; namespace System.Windows.Input { ////// MouseGesture - MouseAction and Modifier combination. /// Can be set on properties of MouseBinding and RoutedCommand. /// [TypeConverter(typeof(MouseGestureConverter))] [ValueSerializer(typeof(MouseGestureValueSerializer))] public class MouseGesture : InputGesture { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors ////// Constructor /// public MouseGesture() // Mouse action { } ////// constructor /// /// Mouse Action public MouseGesture(MouseAction mouseAction): this(mouseAction, ModifierKeys.None) { } ////// Constructor /// /// Mouse Action /// Modifiers public MouseGesture( MouseAction mouseAction,ModifierKeys modifiers) // acclerator action { if (!MouseGesture.IsDefinedMouseAction(mouseAction)) throw new InvalidEnumArgumentException("mouseAction", (int)mouseAction, typeof(MouseAction)); if (!ModifierKeysConverter.IsDefinedModifierKeys(modifiers)) throw new InvalidEnumArgumentException("modifiers", (int)modifiers, typeof(ModifierKeys)); _modifiers = modifiers; _mouseAction = mouseAction; //AttachClassListeners(); } #endregion Constructors //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- #region Public Methods ////// Action /// public MouseAction MouseAction { get { return _mouseAction; } set { if (!MouseGesture.IsDefinedMouseAction((MouseAction)value)) throw new InvalidEnumArgumentException("value", (int)value, typeof(MouseAction)); _mouseAction = (MouseAction)value; } } ////// Modifiers /// public ModifierKeys Modifiers { get { return _modifiers; } set { if (!ModifierKeysConverter.IsDefinedModifierKeys((ModifierKeys)value)) throw new InvalidEnumArgumentException("value", (int)value, typeof(ModifierKeys)); _modifiers = (ModifierKeys)value; } } ////// Compares InputEventArgs with current Input /// /// the element to receive the command /// inputEventArgs to compare to ///True - if matches, false otherwise. /// public override bool Matches(object targetElement, InputEventArgs inputEventArgs) { MouseAction mouseAction = GetMouseAction(inputEventArgs); if(mouseAction != MouseAction.None) { return ( ( (int)this.MouseAction == (int)mouseAction ) && ( this.Modifiers == Keyboard.Modifiers ) ); } return false; } // Helper like Enum.IsDefined, for MouseAction. internal static bool IsDefinedMouseAction(MouseAction mouseAction) { return (mouseAction >= MouseAction.None && mouseAction <= MouseAction.MiddleDoubleClick); } #endregion Public Methods //------------------------------------------------------ // // Internal Methods // //------------------------------------------------------ #region Internal Methods internal static MouseAction GetMouseAction(InputEventArgs inputArgs) { MouseAction MouseAction = MouseAction.None; MouseEventArgs mouseArgs = inputArgs as MouseEventArgs; if(mouseArgs != null) { if(inputArgs is MouseWheelEventArgs) { MouseAction = MouseAction.WheelClick; } else { MouseButtonEventArgs args = inputArgs as MouseButtonEventArgs; switch(args.ChangedButton) { case MouseButton.Left: { if(args.ClickCount == 2) MouseAction = MouseAction.LeftDoubleClick; else if(args.ClickCount == 1) MouseAction = MouseAction.LeftClick; } break; case MouseButton.Right: { if(args.ClickCount == 2) MouseAction = MouseAction.RightDoubleClick; else if(args.ClickCount == 1) MouseAction = MouseAction.RightClick; } break; case MouseButton.Middle: { if(args.ClickCount == 2) MouseAction = MouseAction.MiddleDoubleClick; else if(args.ClickCount == 1) MouseAction = MouseAction.MiddleClick; } break; } } } return MouseAction; } #endregion Internal Methods //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ #region Private Fields private MouseAction _mouseAction = MouseAction.None; private ModifierKeys _modifiers = ModifierKeys.None; // private static bool _classRegistered = false; #endregion Private Fields } } // 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: The MouseGesture class is used by the developer to create Gestures for // Mouse Device // // See spec at : http://avalon/coreUI/Specs/Commanding%20--%20design.htm // // // History: // 03/26/2004 : chandras - Created // //--------------------------------------------------------------------------- using System; using System.Windows.Input; using System.Windows; using System.Windows.Markup; using System.ComponentModel; namespace System.Windows.Input { ////// MouseGesture - MouseAction and Modifier combination. /// Can be set on properties of MouseBinding and RoutedCommand. /// [TypeConverter(typeof(MouseGestureConverter))] [ValueSerializer(typeof(MouseGestureValueSerializer))] public class MouseGesture : InputGesture { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors ////// Constructor /// public MouseGesture() // Mouse action { } ////// constructor /// /// Mouse Action public MouseGesture(MouseAction mouseAction): this(mouseAction, ModifierKeys.None) { } ////// Constructor /// /// Mouse Action /// Modifiers public MouseGesture( MouseAction mouseAction,ModifierKeys modifiers) // acclerator action { if (!MouseGesture.IsDefinedMouseAction(mouseAction)) throw new InvalidEnumArgumentException("mouseAction", (int)mouseAction, typeof(MouseAction)); if (!ModifierKeysConverter.IsDefinedModifierKeys(modifiers)) throw new InvalidEnumArgumentException("modifiers", (int)modifiers, typeof(ModifierKeys)); _modifiers = modifiers; _mouseAction = mouseAction; //AttachClassListeners(); } #endregion Constructors //------------------------------------------------------ // // Public Methods // //----------------------------------------------------- #region Public Methods ////// Action /// public MouseAction MouseAction { get { return _mouseAction; } set { if (!MouseGesture.IsDefinedMouseAction((MouseAction)value)) throw new InvalidEnumArgumentException("value", (int)value, typeof(MouseAction)); _mouseAction = (MouseAction)value; } } ////// Modifiers /// public ModifierKeys Modifiers { get { return _modifiers; } set { if (!ModifierKeysConverter.IsDefinedModifierKeys((ModifierKeys)value)) throw new InvalidEnumArgumentException("value", (int)value, typeof(ModifierKeys)); _modifiers = (ModifierKeys)value; } } ////// Compares InputEventArgs with current Input /// /// the element to receive the command /// inputEventArgs to compare to ///True - if matches, false otherwise. /// public override bool Matches(object targetElement, InputEventArgs inputEventArgs) { MouseAction mouseAction = GetMouseAction(inputEventArgs); if(mouseAction != MouseAction.None) { return ( ( (int)this.MouseAction == (int)mouseAction ) && ( this.Modifiers == Keyboard.Modifiers ) ); } return false; } // Helper like Enum.IsDefined, for MouseAction. internal static bool IsDefinedMouseAction(MouseAction mouseAction) { return (mouseAction >= MouseAction.None && mouseAction <= MouseAction.MiddleDoubleClick); } #endregion Public Methods //------------------------------------------------------ // // Internal Methods // //------------------------------------------------------ #region Internal Methods internal static MouseAction GetMouseAction(InputEventArgs inputArgs) { MouseAction MouseAction = MouseAction.None; MouseEventArgs mouseArgs = inputArgs as MouseEventArgs; if(mouseArgs != null) { if(inputArgs is MouseWheelEventArgs) { MouseAction = MouseAction.WheelClick; } else { MouseButtonEventArgs args = inputArgs as MouseButtonEventArgs; switch(args.ChangedButton) { case MouseButton.Left: { if(args.ClickCount == 2) MouseAction = MouseAction.LeftDoubleClick; else if(args.ClickCount == 1) MouseAction = MouseAction.LeftClick; } break; case MouseButton.Right: { if(args.ClickCount == 2) MouseAction = MouseAction.RightDoubleClick; else if(args.ClickCount == 1) MouseAction = MouseAction.RightClick; } break; case MouseButton.Middle: { if(args.ClickCount == 2) MouseAction = MouseAction.MiddleDoubleClick; else if(args.ClickCount == 1) MouseAction = MouseAction.MiddleClick; } break; } } } return MouseAction; } #endregion Internal Methods //----------------------------------------------------- // // Private Fields // //------------------------------------------------------ #region Private Fields private MouseAction _mouseAction = MouseAction.None; private ModifierKeys _modifiers = ModifierKeys.None; // private static bool _classRegistered = false; #endregion Private Fields } } // 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
- srgsitem.cs
- FontConverter.cs
- GeometryModel3D.cs
- RelationHandler.cs
- RoleService.cs
- KnownTypes.cs
- DiscoveryDocumentReference.cs
- PropertyGeneratedEventArgs.cs
- Marshal.cs
- RuntimeResourceSet.cs
- ManagementPath.cs
- ProviderConnectionPointCollection.cs
- Schema.cs
- TextBoxLine.cs
- CommonObjectSecurity.cs
- UniqueConstraint.cs
- SharedStatics.cs
- DataGridAutomationPeer.cs
- ServicePoint.cs
- Validator.cs
- DynamicPropertyHolder.cs
- ProjectionPathSegment.cs
- SystemIPGlobalProperties.cs
- TextFormatterContext.cs
- propertyentry.cs
- EntryWrittenEventArgs.cs
- ValueType.cs
- Encoder.cs
- Sql8ConformanceChecker.cs
- CodeValidator.cs
- HMACMD5.cs
- Label.cs
- TextRangeEdit.cs
- RequestBringIntoViewEventArgs.cs
- SqlUtil.cs
- CryptoHelper.cs
- ConfigurationConverterBase.cs
- LocalizableResourceBuilder.cs
- BatchServiceHost.cs
- MetadataItemSerializer.cs
- OutputCacheSection.cs
- CodeDomSerializerException.cs
- CasesDictionary.cs
- DesignerRegionMouseEventArgs.cs
- DropTarget.cs
- RegexCharClass.cs
- MatrixStack.cs
- CodeThrowExceptionStatement.cs
- UiaCoreProviderApi.cs
- DateBoldEvent.cs
- DynamicRendererThreadManager.cs
- ThreadPoolTaskScheduler.cs
- ExpressionCopier.cs
- _ShellExpression.cs
- AlignmentXValidation.cs
- ObjectCacheSettings.cs
- CellQuery.cs
- SudsParser.cs
- EmptyStringExpandableObjectConverter.cs
- MsmqIntegrationValidationBehavior.cs
- QilChoice.cs
- CheckedListBox.cs
- _HelperAsyncResults.cs
- IntegrationExceptionEventArgs.cs
- StreamGeometryContext.cs
- MenuItem.cs
- _LazyAsyncResult.cs
- Int32Converter.cs
- SimpleWorkerRequest.cs
- AnnotationResourceCollection.cs
- MembershipUser.cs
- SvcFileManager.cs
- DataRelation.cs
- MenuItemBinding.cs
- AttachmentService.cs
- MatrixTransform3D.cs
- IntSecurity.cs
- SqlTopReducer.cs
- RotateTransform.cs
- DataBindingExpressionBuilder.cs
- MessageSmuggler.cs
- ImplicitInputBrush.cs
- OraclePermissionAttribute.cs
- VisualBasicHelper.cs
- Form.cs
- SqlDataSource.cs
- TextStore.cs
- SQLUtility.cs
- TextBlock.cs
- WpfPayload.cs
- Transactions.cs
- ProfileEventArgs.cs
- Page.cs
- DefinitionUpdate.cs
- StylusPointProperty.cs
- IssuedTokenServiceElement.cs
- CalendarButton.cs
- InternalTypeHelper.cs
- XmlSchemaNotation.cs
- GenericAuthenticationEventArgs.cs