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
- UnionExpr.cs
- TransformerTypeCollection.cs
- NetCodeGroup.cs
- ProfileServiceManager.cs
- EncoderExceptionFallback.cs
- ContentHostHelper.cs
- MenuItemBinding.cs
- TreeNodeClickEventArgs.cs
- UpWmlPageAdapter.cs
- CompositeKey.cs
- _NativeSSPI.cs
- AnimationStorage.cs
- OleDbReferenceCollection.cs
- MaskInputRejectedEventArgs.cs
- DeferrableContentConverter.cs
- SqlComparer.cs
- CryptoKeySecurity.cs
- PointLight.cs
- FrameworkElement.cs
- RoutedEventArgs.cs
- EnvironmentPermission.cs
- SettingsPropertyValue.cs
- Classification.cs
- LineServices.cs
- ToolStripDropDownItem.cs
- columnmapfactory.cs
- VarRemapper.cs
- _AutoWebProxyScriptHelper.cs
- WorkflowQueuingService.cs
- LinearQuaternionKeyFrame.cs
- IdentityModelDictionary.cs
- EffectiveValueEntry.cs
- DataContractSet.cs
- RuntimeArgumentHandle.cs
- _NativeSSPI.cs
- InternalTransaction.cs
- FileAuthorizationModule.cs
- UInt64.cs
- RequestCacheManager.cs
- WindowsSolidBrush.cs
- InfiniteTimeSpanConverter.cs
- MissingFieldException.cs
- InvokeHandlers.cs
- AdornerHitTestResult.cs
- WindowsAuthenticationModule.cs
- SqlDuplicator.cs
- DbProviderServices.cs
- CodeVariableDeclarationStatement.cs
- TryLoadRunnableWorkflowCommand.cs
- ConfigXmlAttribute.cs
- MethodRental.cs
- Run.cs
- Rect3DValueSerializer.cs
- CodeTypeDelegate.cs
- controlskin.cs
- Message.cs
- DbParameterCollectionHelper.cs
- RegexTree.cs
- Logging.cs
- InkCanvasInnerCanvas.cs
- TreeNodeMouseHoverEvent.cs
- PropertySourceInfo.cs
- WindowsSlider.cs
- Transactions.cs
- Tracking.cs
- MailWebEventProvider.cs
- ToolStripContentPanelRenderEventArgs.cs
- ReplyChannel.cs
- ButtonChrome.cs
- CodeGotoStatement.cs
- Directory.cs
- BaseCollection.cs
- DecoderFallbackWithFailureFlag.cs
- MenuAdapter.cs
- Listen.cs
- SqlDataSourceView.cs
- SerializationAttributes.cs
- VisualStyleRenderer.cs
- TextCharacters.cs
- OdbcParameterCollection.cs
- _HelperAsyncResults.cs
- AsmxEndpointPickerExtension.cs
- OracleException.cs
- HashCodeCombiner.cs
- BinaryMessageFormatter.cs
- EventLogTraceListener.cs
- BuildDependencySet.cs
- DataFormat.cs
- ObjectSecurity.cs
- ControlPropertyNameConverter.cs
- SynchronizationContext.cs
- Pointer.cs
- ToolStripButton.cs
- ThemeInfoAttribute.cs
- XmlnsCache.cs
- Simplifier.cs
- TextChange.cs
- SessionIDManager.cs
- ToolboxItemFilterAttribute.cs
- BasicDesignerLoader.cs