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
- TypedServiceChannelBuilder.cs
- HtmlValidatorAdapter.cs
- XmlWrappingReader.cs
- _ScatterGatherBuffers.cs
- QilTypeChecker.cs
- FillBehavior.cs
- ObjectKeyFrameCollection.cs
- DynamicAttribute.cs
- CacheDependency.cs
- PeerHelpers.cs
- Image.cs
- ButtonPopupAdapter.cs
- PathGeometry.cs
- UntypedNullExpression.cs
- StatusBar.cs
- TransactionState.cs
- MappingException.cs
- VScrollBar.cs
- SiteMap.cs
- XmlILAnnotation.cs
- ScriptIgnoreAttribute.cs
- DataGridViewComboBoxColumn.cs
- ColorMatrix.cs
- CacheChildrenQuery.cs
- DataGridViewCell.cs
- HwndHost.cs
- FontUnitConverter.cs
- PropertyInformation.cs
- _ScatterGatherBuffers.cs
- ToolStripDesignerUtils.cs
- SharedPersonalizationStateInfo.cs
- AuditLogLocation.cs
- TypefaceMap.cs
- SqlCrossApplyToCrossJoin.cs
- TextChangedEventArgs.cs
- FrameworkElement.cs
- AnnotationHelper.cs
- XslCompiledTransform.cs
- DomainConstraint.cs
- TextTreeUndoUnit.cs
- DataGridColumnHeadersPresenterAutomationPeer.cs
- WebPartEditorCancelVerb.cs
- TriggerAction.cs
- MetafileHeader.cs
- Polyline.cs
- TypeDescriptor.cs
- PropertyGroupDescription.cs
- XhtmlStyleClass.cs
- SQLUtility.cs
- RtfToken.cs
- ErrorStyle.cs
- DataGridColumnEventArgs.cs
- NotifyIcon.cs
- XmlDocumentFragment.cs
- Rotation3D.cs
- TabOrder.cs
- InstanceHandle.cs
- HostedHttpContext.cs
- StrokeNode.cs
- ThreadInterruptedException.cs
- StaticResourceExtension.cs
- ProviderSettingsCollection.cs
- FrameworkTextComposition.cs
- XmlComment.cs
- ECDiffieHellmanPublicKey.cs
- PointHitTestParameters.cs
- InputReportEventArgs.cs
- CmsInterop.cs
- DataRowView.cs
- ToolStripRenderEventArgs.cs
- SoapExtensionTypeElement.cs
- SoapConverter.cs
- DeclaredTypeValidator.cs
- ValidationError.cs
- DoubleConverter.cs
- TableParagraph.cs
- GPPOINTF.cs
- DataGridTablesFactory.cs
- columnmapfactory.cs
- PrePrepareMethodAttribute.cs
- CellCreator.cs
- Pair.cs
- ToolStripSeparator.cs
- ModelPropertyImpl.cs
- HwndHost.cs
- BufferedStream.cs
- ConnectionString.cs
- PersonalizationProvider.cs
- DetailsViewDeleteEventArgs.cs
- SapiGrammar.cs
- CompositeKey.cs
- RestHandler.cs
- ScriptControl.cs
- HandlerBase.cs
- SafeMILHandle.cs
- ObjectListFieldCollection.cs
- InputBindingCollection.cs
- RuntimeEnvironment.cs
- PenLineCapValidation.cs
- XmlHierarchicalDataSourceView.cs