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
- CompositeScriptReference.cs
- GridViewColumnHeader.cs
- TTSEvent.cs
- XmlSchemaCollection.cs
- RawStylusInputCustomDataList.cs
- XPathArrayIterator.cs
- MultiBindingExpression.cs
- DataRecordInternal.cs
- WsatServiceCertificate.cs
- ExtenderProviderService.cs
- recordstate.cs
- NegotiateStream.cs
- SafeNativeMethods.cs
- InternalCache.cs
- FormatterConverter.cs
- XmlMapping.cs
- MarkupWriter.cs
- SHA256Managed.cs
- EncryptedPackageFilter.cs
- EntityStoreSchemaFilterEntry.cs
- TextElementCollectionHelper.cs
- LineServices.cs
- TextDecoration.cs
- DataRecordObjectView.cs
- DependencySource.cs
- TextAnchor.cs
- AssemblyBuilderData.cs
- Pen.cs
- BamlRecords.cs
- Rfc2898DeriveBytes.cs
- GetWinFXPath.cs
- ProofTokenCryptoHandle.cs
- SchemaElement.cs
- SoapIncludeAttribute.cs
- CodeTypeConstructor.cs
- WsdlExporter.cs
- RedBlackList.cs
- HtmlInputPassword.cs
- FileCodeGroup.cs
- RtfToken.cs
- TableLayoutRowStyleCollection.cs
- BidPrivateBase.cs
- ConfigurationSectionGroupCollection.cs
- DynamicQueryableWrapper.cs
- DataGridHeaderBorder.cs
- ClientEventManager.cs
- GuidConverter.cs
- PersonalizationProviderCollection.cs
- SourceLineInfo.cs
- ApplicationFileParser.cs
- Vector3DValueSerializer.cs
- Message.cs
- processwaithandle.cs
- TextParagraphCache.cs
- UIntPtr.cs
- SchemaCompiler.cs
- GotoExpression.cs
- SwitchAttribute.cs
- IsolatedStorageFileStream.cs
- ContextBase.cs
- _KerberosClient.cs
- EpmCustomContentDeSerializer.cs
- ChannelTokenTypeConverter.cs
- PropertyValueChangedEvent.cs
- Win32NamedPipes.cs
- ContentElement.cs
- ListViewTableRow.cs
- ISAPIRuntime.cs
- WindowsFormsSynchronizationContext.cs
- LineProperties.cs
- SoapIncludeAttribute.cs
- XmlDictionaryReader.cs
- WebResponse.cs
- AssemblyNameProxy.cs
- WebBrowser.cs
- LayoutEngine.cs
- AutoGeneratedField.cs
- ManifestSignedXml.cs
- MarkupCompiler.cs
- DataServiceConfiguration.cs
- TdsRecordBufferSetter.cs
- OperationCanceledException.cs
- ToolStripItemImageRenderEventArgs.cs
- EnumerableRowCollection.cs
- IntegerValidatorAttribute.cs
- DataSourceControlBuilder.cs
- QueryCacheKey.cs
- StringOutput.cs
- XmlSerializerAssemblyAttribute.cs
- precedingsibling.cs
- EnvelopedPkcs7.cs
- LineServicesCallbacks.cs
- CollectionViewGroupRoot.cs
- TraceHandlerErrorFormatter.cs
- TdsParameterSetter.cs
- WebZone.cs
- WebEventCodes.cs
- SchemaElementLookUpTable.cs
- ElementAction.cs
- DragCompletedEventArgs.cs