Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- SafeHandles.cs
- ConcurrentBag.cs
- DetailsViewCommandEventArgs.cs
- GenerateTemporaryAssemblyTask.cs
- IItemContainerGenerator.cs
- LostFocusEventManager.cs
- WindowsListViewScroll.cs
- ValueSerializerAttribute.cs
- RoleServiceManager.cs
- HierarchicalDataBoundControl.cs
- CodeNamespace.cs
- DataControlFieldHeaderCell.cs
- CollectionView.cs
- ColorIndependentAnimationStorage.cs
- TcpClientChannel.cs
- OracleBFile.cs
- XmlUrlResolver.cs
- OpenTypeLayoutCache.cs
- ToolStripItem.cs
- Attachment.cs
- SoapIncludeAttribute.cs
- EntryPointNotFoundException.cs
- MenuItemStyleCollection.cs
- OptimisticConcurrencyException.cs
- UnsupportedPolicyOptionsException.cs
- GPPOINT.cs
- path.cs
- IntegrationExceptionEventArgs.cs
- GridViewRowCollection.cs
- SmiTypedGetterSetter.cs
- InputQueueChannelAcceptor.cs
- ActivityTypeDesigner.xaml.cs
- InvokeBinder.cs
- ChineseLunisolarCalendar.cs
- ObjectDataSourceMethodEditor.cs
- XmlText.cs
- BitmapCodecInfo.cs
- WebChannelFactory.cs
- ScriptDescriptor.cs
- ObjectParameterCollection.cs
- linebase.cs
- CodeGroup.cs
- BaseAppDomainProtocolHandler.cs
- ServerValidateEventArgs.cs
- Opcode.cs
- XmlUtil.cs
- AttachedPropertyBrowsableForTypeAttribute.cs
- _AutoWebProxyScriptHelper.cs
- PropertyBuilder.cs
- SubpageParagraph.cs
- WebSysDisplayNameAttribute.cs
- PermissionRequestEvidence.cs
- SparseMemoryStream.cs
- ProcessModule.cs
- FocusChangedEventArgs.cs
- Point3DAnimation.cs
- DataGridViewCellPaintingEventArgs.cs
- WmpBitmapDecoder.cs
- SessionMode.cs
- ParseNumbers.cs
- InProcStateClientManager.cs
- ToolStripManager.cs
- OdbcHandle.cs
- IndexerNameAttribute.cs
- SoapSchemaImporter.cs
- DocumentGridContextMenu.cs
- HttpWebRequestElement.cs
- WindowsListViewItem.cs
- HostProtectionException.cs
- ExpressionDumper.cs
- KnownBoxes.cs
- XmlSchemaNotation.cs
- FunctionGenerator.cs
- FastEncoder.cs
- ClockController.cs
- SessionPageStatePersister.cs
- ValidationError.cs
- DisplayMemberTemplateSelector.cs
- CompatibleIComparer.cs
- PerformanceCounterLib.cs
- ContainerSelectorGlyph.cs
- TemplatedEditableDesignerRegion.cs
- GridProviderWrapper.cs
- UnsafeNativeMethodsCLR.cs
- AssociationTypeEmitter.cs
- GenericsNotImplementedException.cs
- Reference.cs
- StatementContext.cs
- EntityDataSourceView.cs
- NullRuntimeConfig.cs
- ListBoxItem.cs
- DiscoveryDocumentLinksPattern.cs
- LinkArea.cs
- ProcessModelSection.cs
- ThreadAbortException.cs
- TableRowCollection.cs
- CompositeFontParser.cs
- ProcessModelSection.cs
- PeerDuplexChannelListener.cs
- TextEndOfSegment.cs