Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Core / CSharp / System / Windows / Input / StagingAreaInputItem.cs / 1 / StagingAreaInputItem.cs
using System; using System.Collections; using System.Security.Permissions; using System.Security; namespace System.Windows.Input { ////// This class encapsulates an input event while it is being /// processed by the input manager. /// ////// This class just provides the dictionary-based storage for /// all of the listeners of the various input manager events. /// public class StagingAreaInputItem { // Only we can make these. internal StagingAreaInputItem(bool isMarker) { _isMarker = isMarker; } // For performace reasons, we try to reuse these event args. // Allow an existing item to be promoted by keeping the existing dictionary. internal void Reset(InputEventArgs input, StagingAreaInputItem promote) { _input = input; if(promote != null && promote._dictionary != null) { // _dictionary = (Hashtable) promote._dictionary.Clone(); } else { if(_dictionary != null) { _dictionary.Clear(); } else { _dictionary = new Hashtable(); } } } ////// Returns the input event. /// ////// Callers must have UIPermission(PermissionState.Unrestricted) to call this API. /// ////// Defense In Depth - even if this leaks out, we demand here. /// public InputEventArgs Input { [UIPermissionAttribute(SecurityAction.LinkDemand,Unrestricted=true)] get {return _input;} } ////// Provides storage for arbitrary data needed during the /// processing of this input event. /// /// /// An arbitrary key for the data. This cannot be null. /// ////// The data previously set for this key, or null. /// public object GetData(object key) { return _dictionary[key]; } ////// Provides storage for arbitrary data needed during the /// processing of this input event. /// /// /// An arbitrary key for the data. This cannot be null. /// /// /// The data to set for this key. This can be null. /// ////// Callers must have UIPermission(PermissionState.Unrestricted) to call this API. /// ////// Defense In Depth - even if this leaks out, we demand here. /// [UIPermissionAttribute(SecurityAction.LinkDemand,Unrestricted=true)] public void SetData(object key, object value) { _dictionary[key] = value; } internal bool IsMarker {get {return _isMarker;}} private bool _isMarker; private InputEventArgs _input; private Hashtable _dictionary; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. using System; using System.Collections; using System.Security.Permissions; using System.Security; namespace System.Windows.Input { ////// This class encapsulates an input event while it is being /// processed by the input manager. /// ////// This class just provides the dictionary-based storage for /// all of the listeners of the various input manager events. /// public class StagingAreaInputItem { // Only we can make these. internal StagingAreaInputItem(bool isMarker) { _isMarker = isMarker; } // For performace reasons, we try to reuse these event args. // Allow an existing item to be promoted by keeping the existing dictionary. internal void Reset(InputEventArgs input, StagingAreaInputItem promote) { _input = input; if(promote != null && promote._dictionary != null) { // _dictionary = (Hashtable) promote._dictionary.Clone(); } else { if(_dictionary != null) { _dictionary.Clear(); } else { _dictionary = new Hashtable(); } } } ////// Returns the input event. /// ////// Callers must have UIPermission(PermissionState.Unrestricted) to call this API. /// ////// Defense In Depth - even if this leaks out, we demand here. /// public InputEventArgs Input { [UIPermissionAttribute(SecurityAction.LinkDemand,Unrestricted=true)] get {return _input;} } ////// Provides storage for arbitrary data needed during the /// processing of this input event. /// /// /// An arbitrary key for the data. This cannot be null. /// ////// The data previously set for this key, or null. /// public object GetData(object key) { return _dictionary[key]; } ////// Provides storage for arbitrary data needed during the /// processing of this input event. /// /// /// An arbitrary key for the data. This cannot be null. /// /// /// The data to set for this key. This can be null. /// ////// Callers must have UIPermission(PermissionState.Unrestricted) to call this API. /// ////// Defense In Depth - even if this leaks out, we demand here. /// [UIPermissionAttribute(SecurityAction.LinkDemand,Unrestricted=true)] public void SetData(object key, object value) { _dictionary[key] = value; } internal bool IsMarker {get {return _isMarker;}} private bool _isMarker; private InputEventArgs _input; private Hashtable _dictionary; } } // 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
- ProtocolsConfigurationEntry.cs
- CodeIdentifier.cs
- CodeTypeDeclarationCollection.cs
- DesignerCategoryAttribute.cs
- CompareValidator.cs
- Point3DAnimationUsingKeyFrames.cs
- SqlSupersetValidator.cs
- AssemblyResourceLoader.cs
- SupportedAddressingMode.cs
- Int16.cs
- ViewEventArgs.cs
- CodeAccessPermission.cs
- BitmapCache.cs
- PriorityBinding.cs
- FrameworkObject.cs
- ThemeInfoAttribute.cs
- BindingsCollection.cs
- ExpressionConverter.cs
- FieldToken.cs
- HwndKeyboardInputProvider.cs
- ServiceDocument.cs
- WebPageTraceListener.cs
- XmlLoader.cs
- RoleManagerModule.cs
- CqlErrorHelper.cs
- QueuePathDialog.cs
- SqlClientWrapperSmiStream.cs
- _FtpControlStream.cs
- KnownBoxes.cs
- SchemaLookupTable.cs
- DropTarget.cs
- ProxyAttribute.cs
- FixedSOMElement.cs
- TextBox.cs
- ScriptingWebServicesSectionGroup.cs
- SmiRequestExecutor.cs
- CodeMemberMethod.cs
- HttpListenerResponse.cs
- UTF8Encoding.cs
- Paragraph.cs
- MatcherBuilder.cs
- BamlLocalizableResourceKey.cs
- HtmlLink.cs
- UpdateTranslator.cs
- HttpCacheParams.cs
- UrlParameterReader.cs
- ClientTargetSection.cs
- FormsAuthenticationUserCollection.cs
- VirtualizedContainerService.cs
- RoutedPropertyChangedEventArgs.cs
- ListViewTableRow.cs
- BaseHashHelper.cs
- ScopelessEnumAttribute.cs
- PerfCounterSection.cs
- CustomSignedXml.cs
- CompressEmulationStream.cs
- NavigationProperty.cs
- IntSecurity.cs
- ElementProxy.cs
- HtmlGenericControl.cs
- CheckBoxStandardAdapter.cs
- TextTreeRootTextBlock.cs
- Image.cs
- OutputScopeManager.cs
- ConstNode.cs
- ServiceModelActivity.cs
- SchemaMapping.cs
- SrgsElement.cs
- StyleCollection.cs
- StructureChangedEventArgs.cs
- PersonalizationProvider.cs
- StylusEditingBehavior.cs
- HttpResponseBase.cs
- MessageProperties.cs
- Binding.cs
- elementinformation.cs
- BindingBase.cs
- ImageListUtils.cs
- DocumentViewerHelper.cs
- FlatButtonAppearance.cs
- UpDownEvent.cs
- Exceptions.cs
- Content.cs
- LabelEditEvent.cs
- QilFunction.cs
- LambdaCompiler.Statements.cs
- basemetadatamappingvisitor.cs
- ItemChangedEventArgs.cs
- ADMembershipProvider.cs
- GeneralTransformCollection.cs
- CodeStatement.cs
- CopyOfAction.cs
- PrintPreviewGraphics.cs
- CoTaskMemHandle.cs
- SemaphoreFullException.cs
- WindowsListViewGroupHelper.cs
- cookieexception.cs
- MsmqInputChannelListenerBase.cs
- SelfIssuedAuthRSAPKCS1SignatureFormatter.cs
- MainMenu.cs