Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Core / CSharp / MS / Internal / Automation / GridItemProviderWrapper.cs / 1 / GridItemProviderWrapper.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
//
// Description: Grid Item pattern provider wrapper for WCP
//
// History:
// 07/21/2003 : BrendanM Ported to WCP
//
//---------------------------------------------------------------------------
using System;
using System.Windows.Threading;
using System.Windows.Media;
using System.Windows.Automation;
using System.Windows.Automation.Provider;
using System.Windows.Automation.Peers;
namespace MS.Internal.Automation
{
// Automation/WCP Wrapper class: Implements that UIAutomation I...Provider
// interface, and calls through to a WCP AutomationPeer which implements the corresponding
// I...Provider inteface. Marshalls the call from the RPC thread onto the
// target AutomationPeer's context.
//
// Class has two major parts to it:
// * Implementation of the I...Provider, which uses Dispatcher.Invoke
// to call a private method (lives in second half of the class) via a delegate,
// if necessary, packages any params into an object param. Return type of Invoke
// must be cast from object to appropriate type.
// * private methods - one for each interface entry point - which get called back
// on the right context. These call through to the peer that's actually
// implenting the I...Provider version of the interface.
internal class GridItemProviderWrapper: MarshalByRefObject, IGridItemProvider
{
//-----------------------------------------------------
//
// Constructors
//
//-----------------------------------------------------
#region Constructors
private GridItemProviderWrapper( AutomationPeer peer, IGridItemProvider iface )
{
_peer = peer;
_iface = iface;
}
#endregion Constructors
//------------------------------------------------------
//
// Interface IGridItemProvider
//
//-----------------------------------------------------
#region Interface IGridItemProvider
public int Row
{
get
{
return (int) ElementUtil.Invoke( _peer, new DispatcherOperationCallback( GetRow ), null );
}
}
public int Column
{
get
{
return (int) ElementUtil.Invoke( _peer, new DispatcherOperationCallback( GetColumn ), null );
}
}
public int RowSpan
{
get
{
return (int) ElementUtil.Invoke( _peer, new DispatcherOperationCallback( GetRowSpan ), null );
}
}
public int ColumnSpan
{
get
{
return (int) ElementUtil.Invoke( _peer, new DispatcherOperationCallback( GetColumnSpan ), null );
}
}
public IRawElementProviderSimple ContainingGrid
{
get
{
return (IRawElementProviderSimple) ElementUtil.Invoke( _peer, new DispatcherOperationCallback( GetContainingGrid ), null );
}
}
#endregion Interface IGridItemProvider
//------------------------------------------------------
//
// Internal Methods
//
//------------------------------------------------------
#region Internal Methods
internal static object Wrap( AutomationPeer peer, object iface )
{
return new GridItemProviderWrapper( peer, (IGridItemProvider) iface );
}
#endregion Internal Methods
//-----------------------------------------------------
//
// Private Methods
//
//------------------------------------------------------
#region Private Methods
private object GetRow( object unused )
{
return _iface.Row;
}
private object GetColumn( object unused )
{
return _iface.Column;
}
private object GetRowSpan( object unused )
{
return _iface.RowSpan;
}
private object GetColumnSpan( object unused )
{
return _iface.ColumnSpan;
}
private object GetContainingGrid( object unused )
{
return _iface.ContainingGrid;
}
#endregion Private Methods
//-----------------------------------------------------
//
// Private Fields
//
//-----------------------------------------------------
#region Private Fields
private AutomationPeer _peer;
private IGridItemProvider _iface;
#endregion Private Fields
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
//
// Description: Grid Item pattern provider wrapper for WCP
//
// History:
// 07/21/2003 : BrendanM Ported to WCP
//
//---------------------------------------------------------------------------
using System;
using System.Windows.Threading;
using System.Windows.Media;
using System.Windows.Automation;
using System.Windows.Automation.Provider;
using System.Windows.Automation.Peers;
namespace MS.Internal.Automation
{
// Automation/WCP Wrapper class: Implements that UIAutomation I...Provider
// interface, and calls through to a WCP AutomationPeer which implements the corresponding
// I...Provider inteface. Marshalls the call from the RPC thread onto the
// target AutomationPeer's context.
//
// Class has two major parts to it:
// * Implementation of the I...Provider, which uses Dispatcher.Invoke
// to call a private method (lives in second half of the class) via a delegate,
// if necessary, packages any params into an object param. Return type of Invoke
// must be cast from object to appropriate type.
// * private methods - one for each interface entry point - which get called back
// on the right context. These call through to the peer that's actually
// implenting the I...Provider version of the interface.
internal class GridItemProviderWrapper: MarshalByRefObject, IGridItemProvider
{
//-----------------------------------------------------
//
// Constructors
//
//-----------------------------------------------------
#region Constructors
private GridItemProviderWrapper( AutomationPeer peer, IGridItemProvider iface )
{
_peer = peer;
_iface = iface;
}
#endregion Constructors
//------------------------------------------------------
//
// Interface IGridItemProvider
//
//-----------------------------------------------------
#region Interface IGridItemProvider
public int Row
{
get
{
return (int) ElementUtil.Invoke( _peer, new DispatcherOperationCallback( GetRow ), null );
}
}
public int Column
{
get
{
return (int) ElementUtil.Invoke( _peer, new DispatcherOperationCallback( GetColumn ), null );
}
}
public int RowSpan
{
get
{
return (int) ElementUtil.Invoke( _peer, new DispatcherOperationCallback( GetRowSpan ), null );
}
}
public int ColumnSpan
{
get
{
return (int) ElementUtil.Invoke( _peer, new DispatcherOperationCallback( GetColumnSpan ), null );
}
}
public IRawElementProviderSimple ContainingGrid
{
get
{
return (IRawElementProviderSimple) ElementUtil.Invoke( _peer, new DispatcherOperationCallback( GetContainingGrid ), null );
}
}
#endregion Interface IGridItemProvider
//------------------------------------------------------
//
// Internal Methods
//
//------------------------------------------------------
#region Internal Methods
internal static object Wrap( AutomationPeer peer, object iface )
{
return new GridItemProviderWrapper( peer, (IGridItemProvider) iface );
}
#endregion Internal Methods
//-----------------------------------------------------
//
// Private Methods
//
//------------------------------------------------------
#region Private Methods
private object GetRow( object unused )
{
return _iface.Row;
}
private object GetColumn( object unused )
{
return _iface.Column;
}
private object GetRowSpan( object unused )
{
return _iface.RowSpan;
}
private object GetColumnSpan( object unused )
{
return _iface.ColumnSpan;
}
private object GetContainingGrid( object unused )
{
return _iface.ContainingGrid;
}
#endregion Private Methods
//-----------------------------------------------------
//
// Private Fields
//
//-----------------------------------------------------
#region Private Fields
private AutomationPeer _peer;
private IGridItemProvider _iface;
#endregion Private Fields
}
}
// 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
- ItemType.cs
- PublishLicense.cs
- ProfileEventArgs.cs
- GPPOINTF.cs
- ScrollItemPattern.cs
- SqlCacheDependencyDatabase.cs
- NumberFunctions.cs
- TreeNodeBindingDepthConverter.cs
- DataContext.cs
- ServiceChannelManager.cs
- Matrix.cs
- InkCanvasAutomationPeer.cs
- SqlXml.cs
- DesigntimeLicenseContext.cs
- BitVector32.cs
- Imaging.cs
- UriTemplate.cs
- HMAC.cs
- HostedHttpTransportManager.cs
- DiagnosticTraceSchemas.cs
- UnauthorizedWebPart.cs
- TreeNodeEventArgs.cs
- ModelItem.cs
- DBCommand.cs
- HttpVersion.cs
- WizardStepBase.cs
- CodeVariableDeclarationStatement.cs
- MemoryMappedView.cs
- HitTestFilterBehavior.cs
- DrawingImage.cs
- XmlValueConverter.cs
- DBCommand.cs
- ArgIterator.cs
- MenuItem.cs
- EmissiveMaterial.cs
- CompilerError.cs
- NativeMethods.cs
- MailMessageEventArgs.cs
- BoundField.cs
- LinkButton.cs
- ToolStripLabel.cs
- TypedCompletedAsyncResult.cs
- XmlDataImplementation.cs
- Unit.cs
- VisualTreeUtils.cs
- RoleManagerModule.cs
- PassportPrincipal.cs
- ActivationWorker.cs
- ResourceBinder.cs
- TimersDescriptionAttribute.cs
- SQLDecimal.cs
- LookupNode.cs
- MappingSource.cs
- BrushConverter.cs
- WorkflowFileItem.cs
- ResourceManagerWrapper.cs
- localization.cs
- tibetanshape.cs
- NameSpaceEvent.cs
- XamlSerializationHelper.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- MouseGestureValueSerializer.cs
- ColumnMapVisitor.cs
- EncryptedReference.cs
- WebRequest.cs
- InkCollectionBehavior.cs
- WindowsGraphicsCacheManager.cs
- unsafenativemethodstextservices.cs
- WebSysDescriptionAttribute.cs
- FixedHighlight.cs
- MenuItem.cs
- ParserExtension.cs
- SevenBitStream.cs
- CodeExporter.cs
- CancellationHandler.cs
- ButtonPopupAdapter.cs
- NavigationEventArgs.cs
- XamlReaderConstants.cs
- XmlException.cs
- LinkClickEvent.cs
- CultureInfoConverter.cs
- DesigntimeLicenseContext.cs
- DataGridViewCellValueEventArgs.cs
- IBuiltInEvidence.cs
- UserPreferenceChangingEventArgs.cs
- ValueSerializer.cs
- Authorization.cs
- TypeReference.cs
- SoapServerMethod.cs
- HttpTransportManager.cs
- ValueProviderWrapper.cs
- LicenseProviderAttribute.cs
- EventSinkActivityDesigner.cs
- KnownTypes.cs
- NativeRecognizer.cs
- DoubleAnimationUsingKeyFrames.cs
- ApplicationHost.cs
- BookmarkManager.cs
- DataBindingCollectionConverter.cs
- BlurBitmapEffect.cs