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
- documentsequencetextpointer.cs
- HMACMD5.cs
- StrongNameSignatureInformation.cs
- IndexExpression.cs
- panel.cs
- MaskedTextProvider.cs
- _SslState.cs
- ResizingMessageFilter.cs
- SingleAnimationUsingKeyFrames.cs
- SparseMemoryStream.cs
- TimeSpanValidatorAttribute.cs
- IndexedEnumerable.cs
- DbConnectionPoolCounters.cs
- ComplexTypeEmitter.cs
- MenuTracker.cs
- Encoder.cs
- StrongNameKeyPair.cs
- XmlSchemaComplexContent.cs
- TrackingAnnotationCollection.cs
- SafeSecurityHelper.cs
- NameSpaceEvent.cs
- MetabaseSettingsIis7.cs
- ListViewGroupItemCollection.cs
- BezierSegment.cs
- PrintPreviewDialog.cs
- Expression.cs
- ConnectionManagementElement.cs
- Help.cs
- TextLine.cs
- SafeCancelMibChangeNotify.cs
- MailMessageEventArgs.cs
- InstrumentationTracker.cs
- DockEditor.cs
- RequestQueryProcessor.cs
- WebPartsSection.cs
- ClientConfigurationSystem.cs
- UrlAuthFailedErrorFormatter.cs
- XmlUtf8RawTextWriter.cs
- PropertyMap.cs
- SettingsAttributes.cs
- SingleConverter.cs
- CryptoConfig.cs
- ProxyWebPartManager.cs
- CardSpaceShim.cs
- XmlILConstructAnalyzer.cs
- ObjectConverter.cs
- infer.cs
- ModelVisual3D.cs
- SpellerStatusTable.cs
- PrintingPermissionAttribute.cs
- PartitionedDataSource.cs
- XmlNavigatorStack.cs
- DbBuffer.cs
- QueryContinueDragEvent.cs
- IIS7WorkerRequest.cs
- GatewayDefinition.cs
- GenericUriParser.cs
- ChangeBlockUndoRecord.cs
- DrawingContextDrawingContextWalker.cs
- DataGridViewColumnEventArgs.cs
- InkCanvasSelection.cs
- DocumentPageHost.cs
- SettingsSavedEventArgs.cs
- WebBrowserEvent.cs
- LinqDataSourceHelper.cs
- TrackingProfileDeserializationException.cs
- SecurityResources.cs
- KeyValueSerializer.cs
- SourceElementsCollection.cs
- XmlSchemaValidationException.cs
- DataSourceCache.cs
- CommandPlan.cs
- BridgeDataReader.cs
- CharEnumerator.cs
- XmlSchemaChoice.cs
- ProtectedConfigurationProviderCollection.cs
- RuleAttributes.cs
- MSAAWinEventWrap.cs
- WindowInteropHelper.cs
- BuildManagerHost.cs
- _AuthenticationState.cs
- OdbcStatementHandle.cs
- WindowsStartMenu.cs
- DataPagerFieldCommandEventArgs.cs
- DiscoveryMessageProperty.cs
- Expressions.cs
- TemplateBindingExpression.cs
- TimeStampChecker.cs
- CodeCompiler.cs
- DetailsViewUpdatedEventArgs.cs
- ZipFileInfoCollection.cs
- CancellationTokenRegistration.cs
- AttributeData.cs
- DataStorage.cs
- UnmanagedMemoryStream.cs
- RetriableClipboard.cs
- TransformerInfoCollection.cs
- Helper.cs
- _ConnectStream.cs
- bindurihelper.cs