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
- ResXFileRef.cs
- Signature.cs
- InputScopeAttribute.cs
- VisualStates.cs
- WebServiceErrorEvent.cs
- SqlDataSourceCustomCommandPanel.cs
- TypeBrowserDialog.cs
- InheritanceAttribute.cs
- XmlWriter.cs
- InlineObject.cs
- ColumnHeader.cs
- ApplicationHost.cs
- ErrorTableItemStyle.cs
- WebPartDisplayMode.cs
- MembershipPasswordException.cs
- CombinedGeometry.cs
- DeploymentSection.cs
- AppliesToBehaviorDecisionTable.cs
- RuleCache.cs
- HtmlElementEventArgs.cs
- AssemblyName.cs
- RNGCryptoServiceProvider.cs
- EntityConnection.cs
- TransformerConfigurationWizardBase.cs
- GeneralTransformGroup.cs
- ObjectSpanRewriter.cs
- MetadataCacheItem.cs
- OracleColumn.cs
- TextModifier.cs
- RuntimeCompatibilityAttribute.cs
- DetailsView.cs
- HostExecutionContextManager.cs
- ExceptionHelpers.cs
- SignedInfo.cs
- WebContext.cs
- AutoGeneratedField.cs
- InputBindingCollection.cs
- FixedNode.cs
- ChtmlPageAdapter.cs
- Thread.cs
- ContentPlaceHolder.cs
- DataGridrowEditEndingEventArgs.cs
- CookieParameter.cs
- MembershipPasswordException.cs
- ZeroOpNode.cs
- XmlAutoDetectWriter.cs
- Token.cs
- LocalServiceSecuritySettingsElement.cs
- DataSourceXmlTextReader.cs
- ThumbAutomationPeer.cs
- EpmTargetPathSegment.cs
- Mapping.cs
- MasterPageCodeDomTreeGenerator.cs
- LabelLiteral.cs
- FixedFlowMap.cs
- ResumeStoryboard.cs
- HtmlButton.cs
- ModelProperty.cs
- SubMenuStyle.cs
- XmlBinaryWriter.cs
- XmlSchemas.cs
- NavigationExpr.cs
- ByteArrayHelperWithString.cs
- DynamicPropertyHolder.cs
- QueryConverter.cs
- DataServiceConfiguration.cs
- MD5.cs
- SqlException.cs
- ParserHooks.cs
- ExpressionPrinter.cs
- PageContentAsyncResult.cs
- PolicyStatement.cs
- DrawingState.cs
- XmlSerializableServices.cs
- precedingquery.cs
- WindowsRebar.cs
- SafeProcessHandle.cs
- UIHelper.cs
- ExceptionHandlers.cs
- SafeProcessHandle.cs
- SqlNotificationEventArgs.cs
- SqlDataRecord.cs
- ResizeGrip.cs
- followingsibling.cs
- OleDbFactory.cs
- BatchWriter.cs
- FormViewRow.cs
- _Semaphore.cs
- JavaScriptString.cs
- AvTrace.cs
- DataGridViewImageColumn.cs
- SoapAttributeOverrides.cs
- GridViewRowCollection.cs
- EdmItemError.cs
- X509Certificate2.cs
- Size3D.cs
- CheckPair.cs
- ResXDataNode.cs
- GeneralTransform.cs
- DrawItemEvent.cs