Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / 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 : [....] 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
- XmlSchemaInfo.cs
- IndentTextWriter.cs
- ExtractorMetadata.cs
- TextPenaltyModule.cs
- EdmConstants.cs
- TraceEventCache.cs
- SqlCachedBuffer.cs
- DriveInfo.cs
- PixelFormatConverter.cs
- DataListCommandEventArgs.cs
- AttachInfo.cs
- TypeEnumerableViewSchema.cs
- ScrollProperties.cs
- ApplicationDirectory.cs
- PropertyChangedEventManager.cs
- ListViewCancelEventArgs.cs
- SqlMethodAttribute.cs
- DataPagerFieldCollection.cs
- ToolStripItemTextRenderEventArgs.cs
- ToolStripItemEventArgs.cs
- XmlEventCache.cs
- SslSecurityTokenParameters.cs
- SkinBuilder.cs
- TextClipboardData.cs
- SafeTimerHandle.cs
- Events.cs
- LineServices.cs
- Token.cs
- ElementHostPropertyMap.cs
- InkCanvasFeedbackAdorner.cs
- TreeNodeSelectionProcessor.cs
- WebResourceUtil.cs
- LinkedResource.cs
- RootContext.cs
- PublisherMembershipCondition.cs
- ObjectItemLoadingSessionData.cs
- GPStream.cs
- SqlMethods.cs
- PointLightBase.cs
- HttpChannelBindingToken.cs
- ApplicationActivator.cs
- TaskDesigner.cs
- ResourceSetExpression.cs
- CodeTypeReferenceCollection.cs
- ScalarType.cs
- FastPropertyAccessor.cs
- ObjectDataSourceChooseTypePanel.cs
- FullTrustAssembly.cs
- Axis.cs
- TextPointer.cs
- SelectionEditor.cs
- CompilerCollection.cs
- DependencyPropertyDescriptor.cs
- XmlSchemaAttribute.cs
- SymbolTable.cs
- SqlXml.cs
- ListViewContainer.cs
- DataRelation.cs
- Image.cs
- UserPersonalizationStateInfo.cs
- Monitor.cs
- LZCodec.cs
- ZipIOFileItemStream.cs
- CmsInterop.cs
- ProcessHostMapPath.cs
- MultiBindingExpression.cs
- FixedSOMContainer.cs
- FaultContractInfo.cs
- IDReferencePropertyAttribute.cs
- _UncName.cs
- TimeZone.cs
- XmlSerializerFactory.cs
- ParserExtension.cs
- StylusPointDescription.cs
- FixedSOMPageElement.cs
- AudioSignalProblemOccurredEventArgs.cs
- TypeBuilderInstantiation.cs
- StrokeNodeOperations.cs
- QilTargetType.cs
- CodeGotoStatement.cs
- WinFormsSpinner.cs
- Maps.cs
- lengthconverter.cs
- ImageCodecInfoPrivate.cs
- WebPartConnection.cs
- KeyNotFoundException.cs
- VirtualPathUtility.cs
- Compilation.cs
- MatrixUtil.cs
- ExtendedProperty.cs
- OleDbCommand.cs
- NamespaceList.cs
- SelectedDatesCollection.cs
- dataSvcMapFileLoader.cs
- HwndSourceParameters.cs
- Exceptions.cs
- BaseDataBoundControl.cs
- OdbcConnection.cs
- DataTemplateKey.cs
- StreamUpdate.cs