Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / MS / Internal / Automation / TextProviderWrapper.cs / 1305600 / TextProviderWrapper.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: Text pattern provider wrapper for WCP // // History: // 03/09/2004 : a-davidj 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
- Set.cs
- DataGridTextColumn.cs
- SizeAnimationUsingKeyFrames.cs
- Soap12ProtocolImporter.cs
- CollectionChangeEventArgs.cs
- Gdiplus.cs
- EditorPartDesigner.cs
- DataGridViewCellLinkedList.cs
- XmlNamespaceMapping.cs
- ControlPropertyNameConverter.cs
- ClosableStream.cs
- WebPartsPersonalizationAuthorization.cs
- DefaultAssemblyResolver.cs
- DataGridItemEventArgs.cs
- ConfigurationManagerHelper.cs
- PerformanceCountersElement.cs
- WMIGenerator.cs
- DataGridViewAdvancedBorderStyle.cs
- ObjectQuery.cs
- PatternMatcher.cs
- Instrumentation.cs
- CultureInfoConverter.cs
- WindowsTokenRoleProvider.cs
- WindowsContainer.cs
- UnicastIPAddressInformationCollection.cs
- UrlMappingsSection.cs
- PageAsyncTaskManager.cs
- SecUtil.cs
- IndexOutOfRangeException.cs
- CodeGroup.cs
- WSUtilitySpecificationVersion.cs
- PeekCompletedEventArgs.cs
- AngleUtil.cs
- EditorPartCollection.cs
- NamedPermissionSet.cs
- GridViewItemAutomationPeer.cs
- UIElementIsland.cs
- UInt64Converter.cs
- StreamWriter.cs
- HttpCacheVaryByContentEncodings.cs
- HttpPostedFile.cs
- TrustLevelCollection.cs
- Rotation3DAnimation.cs
- XsltQilFactory.cs
- ViewBox.cs
- NTAccount.cs
- SqlServer2KCompatibilityAnnotation.cs
- Event.cs
- BooleanExpr.cs
- SystemFonts.cs
- CaseCqlBlock.cs
- SpecularMaterial.cs
- XmlEntity.cs
- Pair.cs
- CollectionBuilder.cs
- DescendentsWalkerBase.cs
- XmlAttributes.cs
- MailSettingsSection.cs
- ComboBoxAutomationPeer.cs
- ListViewDesigner.cs
- XhtmlConformanceSection.cs
- RegexCapture.cs
- SafeLibraryHandle.cs
- BrowserDefinitionCollection.cs
- ConfigPathUtility.cs
- Transform3D.cs
- CFStream.cs
- DataGridColumnCollection.cs
- DecimalConverter.cs
- HtmlDocument.cs
- SmiContext.cs
- BamlWriter.cs
- BitmapFrameDecode.cs
- TranslateTransform3D.cs
- VisualStyleElement.cs
- DesignTimeParseData.cs
- LayoutUtils.cs
- DataGridViewComboBoxCell.cs
- IIS7WorkerRequest.cs
- MarginCollapsingState.cs
- ScrollProperties.cs
- Cursor.cs
- LeftCellWrapper.cs
- ConnectionStringsExpressionBuilder.cs
- TableParaClient.cs
- ProtocolReflector.cs
- PrincipalPermission.cs
- Matrix3D.cs
- MimeMultiPart.cs
- Propagator.ExtentPlaceholderCreator.cs
- WebConfigurationFileMap.cs
- RealProxy.cs
- TypeForwardedToAttribute.cs
- HtmlTableRow.cs
- TextEffect.cs
- UTF32Encoding.cs
- FontUnit.cs
- CmsUtils.cs
- ContextBase.cs
- StrokeFIndices.cs