Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- StreamReader.cs
- ThreadAttributes.cs
- DataContractSerializerElement.cs
- CompoundFileStorageReference.cs
- ReferenceConverter.cs
- NamespaceInfo.cs
- CellQuery.cs
- ParagraphResult.cs
- RectValueSerializer.cs
- SqlConnectionManager.cs
- RectangleHotSpot.cs
- SSmlParser.cs
- NonVisualControlAttribute.cs
- MergePropertyDescriptor.cs
- UnsafeNativeMethods.cs
- FtpWebRequest.cs
- ChannelParameterCollection.cs
- ErrorEventArgs.cs
- GAC.cs
- SapiRecoInterop.cs
- Vector3dCollection.cs
- WmlListAdapter.cs
- SafeSystemMetrics.cs
- CommonDialog.cs
- DrawTreeNodeEventArgs.cs
- RectangleGeometry.cs
- DescendentsWalker.cs
- PackagingUtilities.cs
- FileSecurity.cs
- PrintDocument.cs
- PageResolution.cs
- SortedSetDebugView.cs
- WinFormsComponentEditor.cs
- DetectRunnableInstancesTask.cs
- DragDeltaEventArgs.cs
- VirtualizedCellInfoCollection.cs
- SizeF.cs
- XmlSubtreeReader.cs
- ToolboxItem.cs
- FatalException.cs
- WindowsEditBox.cs
- UnsafeNativeMethods.cs
- UserPersonalizationStateInfo.cs
- PrintDialog.cs
- FileVersionInfo.cs
- MemberProjectedSlot.cs
- LogicalTreeHelper.cs
- TransportContext.cs
- OptimizerPatterns.cs
- AllMembershipCondition.cs
- TextRunCacheImp.cs
- FormatSettings.cs
- CheckBox.cs
- BulletDecorator.cs
- FunctionDescription.cs
- LocalizedNameDescriptionPair.cs
- XPathAncestorQuery.cs
- WebRequestModuleElementCollection.cs
- WebPartAuthorizationEventArgs.cs
- X509IssuerSerialKeyIdentifierClause.cs
- RectAnimation.cs
- CompilerState.cs
- GridViewColumnHeader.cs
- DecoderExceptionFallback.cs
- RouteValueExpressionBuilder.cs
- CalendarKeyboardHelper.cs
- EditingMode.cs
- BooleanAnimationBase.cs
- LinearKeyFrames.cs
- HtmlTableCell.cs
- StrongNamePublicKeyBlob.cs
- CodeStatement.cs
- TypeSystemHelpers.cs
- TypeElement.cs
- securestring.cs
- DescendantQuery.cs
- GenericAuthenticationEventArgs.cs
- ServiceDescriptionContext.cs
- DbConnectionHelper.cs
- DiscoveryVersionConverter.cs
- CapabilitiesPattern.cs
- BamlBinaryReader.cs
- CodeConstructor.cs
- Inflater.cs
- ToolBarButton.cs
- LabelEditEvent.cs
- TemplateInstanceAttribute.cs
- ListViewDeletedEventArgs.cs
- PanelDesigner.cs
- ModifiableIteratorCollection.cs
- ChineseLunisolarCalendar.cs
- DescendantOverDescendantQuery.cs
- Command.cs
- TlsnegoTokenAuthenticator.cs
- NotSupportedException.cs
- AvTrace.cs
- EntityDataSourceEntityTypeFilterItem.cs
- EventProviderWriter.cs
- ValidatorUtils.cs
- Cursor.cs