Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Core / CSharp / MS / Internal / Automation / ScrollItemProviderWrapper.cs / 1 / ScrollItemProviderWrapper.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: Scroll Item pattern provider wrapper for WCP // // History: // 05/09/2004 : Mkarr Wrote // //--------------------------------------------------------------------------- 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 ScrollItemProviderWrapper: MarshalByRefObject, IScrollItemProvider { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors private ScrollItemProviderWrapper(AutomationPeer peer, IScrollItemProvider iface) { _peer = peer; _iface = iface; } #endregion Constructors //------------------------------------------------------ // // Interface IInvokeProvider // //----------------------------------------------------- #region Interface IScrollItemProvider public void ScrollIntoView() { ElementUtil.Invoke( _peer, new DispatcherOperationCallback( ScrollIntoView ), null ); } #endregion Interface IScrollItemProvider //------------------------------------------------------ // // Internal Methods // //------------------------------------------------------ #region Internal Methods internal static object Wrap( AutomationPeer peer, object iface ) { return new ScrollItemProviderWrapper(peer, (IScrollItemProvider)iface); } #endregion Internal Methods //----------------------------------------------------- // // Private Methods // //------------------------------------------------------ #region Private Methods private object ScrollIntoView(object unused) { _iface.ScrollIntoView(); return null; } #endregion Private Methods //----------------------------------------------------- // // Private Fields // //----------------------------------------------------- #region Private Fields private AutomationPeer _peer; private IScrollItemProvider _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: Scroll Item pattern provider wrapper for WCP // // History: // 05/09/2004 : Mkarr Wrote // //--------------------------------------------------------------------------- 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 ScrollItemProviderWrapper: MarshalByRefObject, IScrollItemProvider { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors private ScrollItemProviderWrapper(AutomationPeer peer, IScrollItemProvider iface) { _peer = peer; _iface = iface; } #endregion Constructors //------------------------------------------------------ // // Interface IInvokeProvider // //----------------------------------------------------- #region Interface IScrollItemProvider public void ScrollIntoView() { ElementUtil.Invoke( _peer, new DispatcherOperationCallback( ScrollIntoView ), null ); } #endregion Interface IScrollItemProvider //------------------------------------------------------ // // Internal Methods // //------------------------------------------------------ #region Internal Methods internal static object Wrap( AutomationPeer peer, object iface ) { return new ScrollItemProviderWrapper(peer, (IScrollItemProvider)iface); } #endregion Internal Methods //----------------------------------------------------- // // Private Methods // //------------------------------------------------------ #region Private Methods private object ScrollIntoView(object unused) { _iface.ScrollIntoView(); return null; } #endregion Private Methods //----------------------------------------------------- // // Private Fields // //----------------------------------------------------- #region Private Fields private AutomationPeer _peer; private IScrollItemProvider _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
- XhtmlTextWriter.cs
- InfoCardCryptoHelper.cs
- TextViewElement.cs
- SystemFonts.cs
- ValidationResult.cs
- SR.cs
- CodeDelegateInvokeExpression.cs
- Root.cs
- AmbientLight.cs
- DoubleStorage.cs
- ResourcePermissionBase.cs
- ToolStripContainer.cs
- KeyGestureConverter.cs
- _SslStream.cs
- Panel.cs
- ContainerControlDesigner.cs
- DesignTimeValidationFeature.cs
- QueryContinueDragEventArgs.cs
- WindowsTab.cs
- Parsers.cs
- DuplicateWaitObjectException.cs
- MatrixValueSerializer.cs
- SessionState.cs
- TextServicesCompartmentContext.cs
- OpenFileDialog.cs
- Help.cs
- BaseResourcesBuildProvider.cs
- odbcmetadatacollectionnames.cs
- WinEventTracker.cs
- Double.cs
- RestHandler.cs
- Model3DGroup.cs
- CheckBox.cs
- MDIWindowDialog.cs
- PackageProperties.cs
- NotSupportedException.cs
- MessageAction.cs
- ClientBuildManager.cs
- SecurityUniqueId.cs
- _ServiceNameStore.cs
- LocalBuilder.cs
- TrustSection.cs
- FlowDocumentScrollViewer.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- SoapIncludeAttribute.cs
- ToolStripSystemRenderer.cs
- Int32Collection.cs
- ContextMenuStrip.cs
- BridgeDataRecord.cs
- SiteMapHierarchicalDataSourceView.cs
- PerfCounters.cs
- CFGGrammar.cs
- DictionarySectionHandler.cs
- DbExpressionVisitor_TResultType.cs
- ObjectTokenCategory.cs
- Rule.cs
- ScaleTransform3D.cs
- DelegateBodyWriter.cs
- InputLanguageCollection.cs
- AQNBuilder.cs
- XmlRootAttribute.cs
- Cursor.cs
- AdornerLayer.cs
- DataGridViewCellLinkedList.cs
- HMAC.cs
- _NestedMultipleAsyncResult.cs
- ContextQuery.cs
- HandleTable.cs
- Animatable.cs
- ProxyGenerator.cs
- StorageSetMapping.cs
- ParameterBinding.cs
- OutputScopeManager.cs
- TdsParserHelperClasses.cs
- XmlSchemaSimpleContentExtension.cs
- WindowsFormsLinkLabel.cs
- ZipIOLocalFileDataDescriptor.cs
- AdRotator.cs
- HttpRuntimeSection.cs
- TextEditor.cs
- NamespaceMapping.cs
- TemplateLookupAction.cs
- DBProviderConfigurationHandler.cs
- SemaphoreFullException.cs
- ClientProxyGenerator.cs
- HttpApplicationStateBase.cs
- LinkedResourceCollection.cs
- HtmlHistory.cs
- ListViewVirtualItemsSelectionRangeChangedEvent.cs
- ContractMapping.cs
- PersonalizationEntry.cs
- TraceProvider.cs
- CompilationLock.cs
- HttpException.cs
- MetadataPropertyvalue.cs
- NewArrayExpression.cs
- FontUnit.cs
- Normalization.cs
- PenThreadPool.cs
- PeerNeighborManager.cs