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
- EntityDataSourceWrapperCollection.cs
- DbParameterCollection.cs
- SqlCachedBuffer.cs
- TransportOutputChannel.cs
- XmlEncApr2001.cs
- GridViewItemAutomationPeer.cs
- __Filters.cs
- FontCacheUtil.cs
- MimeBasePart.cs
- HistoryEventArgs.cs
- KeyToListMap.cs
- StringWriter.cs
- RtfToXamlLexer.cs
- datacache.cs
- TypeKeyValue.cs
- DbDataRecord.cs
- GetPageNumberCompletedEventArgs.cs
- WorkflowTransactionOptions.cs
- DataServiceBehavior.cs
- ClaimSet.cs
- QueryableDataSource.cs
- EmptyImpersonationContext.cs
- AvtEvent.cs
- Command.cs
- WinFormsComponentEditor.cs
- LoginView.cs
- TextServicesHost.cs
- AxParameterData.cs
- CallbackValidator.cs
- RoutingService.cs
- WorkflowMarkupSerializerMapping.cs
- HijriCalendar.cs
- AccessDataSourceDesigner.cs
- DataMisalignedException.cs
- DbCommandTree.cs
- Animatable.cs
- DirectoryNotFoundException.cs
- datacache.cs
- TableSectionStyle.cs
- StyleBamlRecordReader.cs
- CharAnimationBase.cs
- Vector.cs
- DBCommand.cs
- EventSetterHandlerConverter.cs
- SchemaCreator.cs
- KeyboardEventArgs.cs
- Menu.cs
- XpsResourcePolicy.cs
- PreservationFileReader.cs
- WebPartVerb.cs
- ConnectionsZoneAutoFormat.cs
- ExpressionSelection.cs
- LocatorGroup.cs
- ViewUtilities.cs
- FileEnumerator.cs
- ListBindingConverter.cs
- ItemChangedEventArgs.cs
- UrlAuthFailedErrorFormatter.cs
- DbConnectionPoolCounters.cs
- CommandID.cs
- SessionStateUtil.cs
- CommandHelper.cs
- ResourceDescriptionAttribute.cs
- TextFragmentEngine.cs
- EntityClientCacheEntry.cs
- ObjectDataSourceMethodEventArgs.cs
- XmlSignatureManifest.cs
- LeftCellWrapper.cs
- updateconfighost.cs
- GridViewDeletedEventArgs.cs
- EntryWrittenEventArgs.cs
- remotingproxy.cs
- CompilationRelaxations.cs
- QilInvokeEarlyBound.cs
- TripleDESCryptoServiceProvider.cs
- RecipientInfo.cs
- CodeIdentifiers.cs
- ScrollableControlDesigner.cs
- invalidudtexception.cs
- DbConnectionPoolGroup.cs
- OdbcErrorCollection.cs
- CmsUtils.cs
- InternalMappingException.cs
- CheckBoxBaseAdapter.cs
- Button.cs
- TransportChannelListener.cs
- HtmlContainerControl.cs
- TextOptions.cs
- XPathParser.cs
- ICspAsymmetricAlgorithm.cs
- DummyDataSource.cs
- RowToParametersTransformer.cs
- ContextMenu.cs
- NullableLongSumAggregationOperator.cs
- TextTreeInsertUndoUnit.cs
- WeakReferenceList.cs
- FileLogRecordStream.cs
- UnionCodeGroup.cs
- PageContent.cs
- ProfessionalColors.cs