Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / MS / Internal / Automation / TextProviderWrapper.cs / 1 / TextProviderWrapper.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: Text pattern provider wrapper for WCP // // History: // 03/09/2004 : [....] created. // //--------------------------------------------------------------------------- using System; using System.Windows.Threading; using System.Windows; using System.Windows.Media; using System.Windows.Automation; using System.Windows.Automation.Provider; using System.Windows.Automation.Text; using System.Windows.Automation.Peers; using SR = MS.Internal.PresentationCore.SR; using SRID = MS.Internal.PresentationCore.SRID; namespace MS.Internal.Automation { // see comment on InvokeProviderWrapper class for explanation of purpose and organization of these wrapper classes. internal class TextProviderWrapper : MarshalByRefObject, ITextProvider { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors private TextProviderWrapper( AutomationPeer peer, ITextProvider iface ) { _peer = peer; _iface = iface; } #endregion Constructors //------------------------------------------------------ // // Interface ITextProvider // //----------------------------------------------------- #region Interface ITextProvider public ITextRangeProvider [] GetSelection() { return (ITextRangeProvider [])ElementUtil.Invoke(_peer, new DispatcherOperationCallback(GetSelection), null); } public ITextRangeProvider [] GetVisibleRanges() { return (ITextRangeProvider[])ElementUtil.Invoke(_peer, new DispatcherOperationCallback(GetVisibleRanges), null); } public ITextRangeProvider RangeFromChild(IRawElementProviderSimple childElement) { if (!(childElement is ElementProxy)) { throw new ArgumentException(SR.Get(SRID.TextProvider_InvalidChild, "childElement")); } return (ITextRangeProvider)ElementUtil.Invoke(_peer, new DispatcherOperationCallback(RangeFromChild), childElement); } public ITextRangeProvider RangeFromPoint(Point screenLocation) { return (ITextRangeProvider)ElementUtil.Invoke(_peer, new DispatcherOperationCallback(RangeFromPoint), screenLocation); } public ITextRangeProvider DocumentRange { get { return (ITextRangeProvider)ElementUtil.Invoke(_peer, new DispatcherOperationCallback(GetDocumentRange), null); } } public SupportedTextSelection SupportedTextSelection { get { return (SupportedTextSelection)ElementUtil.Invoke(_peer, new DispatcherOperationCallback(GetSupportedTextSelection), null); } } #endregion Interface ITextProvider //------------------------------------------------------ // // Internal Methods // //------------------------------------------------------ #region Internal Methods internal static object Wrap( AutomationPeer peer, object iface ) { return new TextProviderWrapper( peer, (ITextProvider) iface ); } #endregion Internal Methods //----------------------------------------------------- // // Private Methods // //------------------------------------------------------ #region Private Methods private object GetSelection(object unused) { return TextRangeProviderWrapper.WrapArgument( _iface.GetSelection(), _peer ); } private object GetVisibleRanges(object unused) { return TextRangeProviderWrapper.WrapArgument( _iface.GetVisibleRanges(), _peer ); } private object RangeFromChild(object arg) { IRawElementProviderSimple childElement = (IRawElementProviderSimple)arg; return TextRangeProviderWrapper.WrapArgument( _iface.RangeFromChild(childElement), _peer ); } private object RangeFromPoint(object arg) { Point screenLocation = (Point)arg; return TextRangeProviderWrapper.WrapArgument( _iface.RangeFromPoint(screenLocation), _peer ); } private object GetDocumentRange(object unused) { return TextRangeProviderWrapper.WrapArgument( _iface.DocumentRange, _peer ); } private object GetSupportedTextSelection(object unused) { return _iface.SupportedTextSelection; } #endregion Private Methods //----------------------------------------------------- // // Private Fields // //----------------------------------------------------- #region Private Fields private AutomationPeer _peer; private ITextProvider _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
- ToolStripGrip.cs
- DiffuseMaterial.cs
- DBSchemaTable.cs
- TextRangeBase.cs
- RoleServiceManager.cs
- ComPlusTypeLoader.cs
- EntityDataSourceSelectingEventArgs.cs
- SQLDecimalStorage.cs
- UrlMappingsModule.cs
- X509SecurityTokenAuthenticator.cs
- UriParserTemplates.cs
- DirectoryNotFoundException.cs
- CallContext.cs
- ListBoxItemAutomationPeer.cs
- GlyphRunDrawing.cs
- NumberFormatInfo.cs
- DATA_BLOB.cs
- ValidatorCollection.cs
- XPathNodeList.cs
- FullTextLine.cs
- SettingsContext.cs
- NavigationWindowAutomationPeer.cs
- BufferedOutputStream.cs
- TableParaClient.cs
- NativeCompoundFileAPIs.cs
- TrackingMemoryStreamFactory.cs
- ConsoleEntryPoint.cs
- RectAnimationClockResource.cs
- NetDataContractSerializer.cs
- SiteIdentityPermission.cs
- OdbcFactory.cs
- DataServiceConfiguration.cs
- Pair.cs
- EntityFrameworkVersions.cs
- HandoffBehavior.cs
- XPathChildIterator.cs
- BufferedWebEventProvider.cs
- CellParagraph.cs
- DataControlField.cs
- BaseTemplateParser.cs
- SyndicationItemFormatter.cs
- WebPartConnectionsConnectVerb.cs
- DocumentOrderQuery.cs
- ISCIIEncoding.cs
- PathSegment.cs
- UIElement3DAutomationPeer.cs
- UnhandledExceptionEventArgs.cs
- SuppressMergeCheckAttribute.cs
- sqlpipe.cs
- ObfuscateAssemblyAttribute.cs
- Win32KeyboardDevice.cs
- Opcode.cs
- CancellationState.cs
- EntityProxyTypeInfo.cs
- unsafenativemethodsother.cs
- XmlSchemaComplexContentRestriction.cs
- XsltLoader.cs
- DataFormats.cs
- SocketSettings.cs
- TextElementEditingBehaviorAttribute.cs
- DeviceContexts.cs
- Certificate.cs
- AppModelKnownContentFactory.cs
- CompensatableTransactionScopeActivity.cs
- ComboBoxAutomationPeer.cs
- UnsafeNativeMethodsCLR.cs
- DbConnectionStringBuilder.cs
- mediaclock.cs
- Int64Storage.cs
- XPathMultyIterator.cs
- Overlapped.cs
- ToolStripContentPanelDesigner.cs
- RTLAwareMessageBox.cs
- MemberAccessException.cs
- CachedTypeface.cs
- externdll.cs
- CountdownEvent.cs
- PropertyTabChangedEvent.cs
- SystemShuttingDownException.cs
- _BaseOverlappedAsyncResult.cs
- ConfigurationSchemaErrors.cs
- baseshape.cs
- ExpressionDumper.cs
- Point4DConverter.cs
- Events.cs
- FileBasedResourceGroveler.cs
- Accessible.cs
- WebReferencesBuildProvider.cs
- MouseButton.cs
- InvalidEnumArgumentException.cs
- Scene3D.cs
- SecurityRuntime.cs
- Descriptor.cs
- XmlNamespaceMappingCollection.cs
- ClientBuildManagerCallback.cs
- WebPartMovingEventArgs.cs
- PixelFormat.cs
- SharedStream.cs
- ProtocolsConfigurationHandler.cs
- XmlDownloadManager.cs