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
- TypeBuilder.cs
- HttpListener.cs
- ProfileInfo.cs
- SpotLight.cs
- Graphics.cs
- XPathExpr.cs
- ReferencedType.cs
- ScrollChangedEventArgs.cs
- ipaddressinformationcollection.cs
- ToolStripOverflowButton.cs
- SqlDataReader.cs
- Point3DCollection.cs
- StringReader.cs
- WebAdminConfigurationHelper.cs
- PackWebRequestFactory.cs
- RuleSetCollection.cs
- ContentTextAutomationPeer.cs
- Errors.cs
- Guid.cs
- EncoderParameter.cs
- PopupControlService.cs
- CompilerParameters.cs
- ValidationRule.cs
- ResourceAssociationType.cs
- ArraySegment.cs
- UnsafeNativeMethods.cs
- SafeNativeMethods.cs
- XmlWhitespace.cs
- CapabilitiesSection.cs
- ThaiBuddhistCalendar.cs
- TextRange.cs
- CookieParameter.cs
- HttpListenerRequest.cs
- ArithmeticException.cs
- GradientStop.cs
- BasicKeyConstraint.cs
- EntityTypeEmitter.cs
- PagePropertiesChangingEventArgs.cs
- ClientBuildManagerCallback.cs
- UriTemplateCompoundPathSegment.cs
- EventLogPermissionAttribute.cs
- FixedPage.cs
- LassoSelectionBehavior.cs
- TypeInfo.cs
- Aggregates.cs
- dataSvcMapFileLoader.cs
- SqlEnums.cs
- LocatorPartList.cs
- EditorZoneBase.cs
- Msec.cs
- ErrorWrapper.cs
- DataSysAttribute.cs
- AutomationPatternInfo.cs
- XmlAttributeAttribute.cs
- TypeSystemProvider.cs
- RectangleGeometry.cs
- CompositeActivityTypeDescriptor.cs
- MemberHolder.cs
- NoneExcludedImageIndexConverter.cs
- SAPICategories.cs
- Style.cs
- ConfigurationStrings.cs
- BasicExpressionVisitor.cs
- ByteAnimation.cs
- Task.cs
- ErrorFormatterPage.cs
- MemberRelationshipService.cs
- EmbeddedObject.cs
- MultiSelectRootGridEntry.cs
- HttpWebRequest.cs
- VideoDrawing.cs
- IgnoreFlushAndCloseStream.cs
- CombinedGeometry.cs
- Byte.cs
- BaseServiceProvider.cs
- ItemsPresenter.cs
- ServiceHandle.cs
- DataGridTable.cs
- StateWorkerRequest.cs
- NumericUpDownAccelerationCollection.cs
- WebAdminConfigurationHelper.cs
- MetadataPropertyCollection.cs
- PowerStatus.cs
- EditModeSwitchButton.cs
- NotSupportedException.cs
- DesignerAutoFormatStyle.cs
- HttpModuleAction.cs
- CopyNamespacesAction.cs
- Camera.cs
- HierarchicalDataBoundControlAdapter.cs
- CustomWebEventKey.cs
- UnsafeNativeMethods.cs
- GridEntryCollection.cs
- FloaterParagraph.cs
- CellLabel.cs
- OleDbPropertySetGuid.cs
- CornerRadius.cs
- XmlEncoding.cs
- ImageButton.cs
- GridViewRow.cs