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
- PolicyReader.cs
- ClientType.cs
- AssemblyResourceLoader.cs
- XmlILTrace.cs
- AlignmentXValidation.cs
- SqlVisitor.cs
- DataGridLengthConverter.cs
- LineGeometry.cs
- SafeNativeMethods.cs
- FolderNameEditor.cs
- InstanceDataCollection.cs
- WebServiceEndpoint.cs
- HttpWebRequestElement.cs
- ExtentCqlBlock.cs
- SiteMapNodeItem.cs
- SqlMethodCallConverter.cs
- DefaultConfirmation.cs
- OpacityConverter.cs
- LeftCellWrapper.cs
- IssuedTokenClientElement.cs
- ComponentDispatcherThread.cs
- RegisteredExpandoAttribute.cs
- TabletCollection.cs
- TabControl.cs
- WebPartActionVerb.cs
- KeyToListMap.cs
- WriteableOnDemandPackagePart.cs
- HttpValueCollection.cs
- MethodCallTranslator.cs
- ExtendedProtectionPolicy.cs
- GridViewUpdateEventArgs.cs
- ToolstripProfessionalRenderer.cs
- MaterialGroup.cs
- ProviderUtil.cs
- RelationshipFixer.cs
- IndexOutOfRangeException.cs
- AssemblyHash.cs
- XmlNodeList.cs
- SocketAddress.cs
- DataObjectEventArgs.cs
- CornerRadiusConverter.cs
- DataGridViewCellConverter.cs
- PageThemeBuildProvider.cs
- OracleEncoding.cs
- NativeMethods.cs
- CompiledAction.cs
- safex509handles.cs
- XmlSchemaAll.cs
- CapabilitiesPattern.cs
- TransactionManager.cs
- AtlasWeb.Designer.cs
- FixedSOMElement.cs
- TableStyle.cs
- DefaultSerializationProviderAttribute.cs
- SvcMapFileSerializer.cs
- NominalTypeEliminator.cs
- ErrorCodes.cs
- HighlightVisual.cs
- CompositeScriptReference.cs
- SevenBitStream.cs
- ByteStack.cs
- HitTestFilterBehavior.cs
- ToolZone.cs
- TreeNodeCollectionEditor.cs
- WindowAutomationPeer.cs
- HtmlLink.cs
- ClientRuntime.cs
- TransformProviderWrapper.cs
- HMACRIPEMD160.cs
- RootAction.cs
- TcpHostedTransportConfiguration.cs
- DataObjectFieldAttribute.cs
- SQLChars.cs
- ClonableStack.cs
- ObjectViewEntityCollectionData.cs
- FlowDocumentScrollViewer.cs
- DbTransaction.cs
- ObjectSet.cs
- ButtonPopupAdapter.cs
- ComponentRenameEvent.cs
- MethodToken.cs
- NTAccount.cs
- FragmentQuery.cs
- RenderData.cs
- TdsValueSetter.cs
- ChildChangedEventArgs.cs
- KeyProperty.cs
- StyleXamlParser.cs
- MobileControlPersister.cs
- WebPartEditVerb.cs
- SuppressedPackageProperties.cs
- MouseBinding.cs
- RenamedEventArgs.cs
- MultiAsyncResult.cs
- PerformanceCounterPermission.cs
- MethodRental.cs
- SqlInternalConnectionSmi.cs
- TextParentUndoUnit.cs
- RegexGroup.cs
- OledbConnectionStringbuilder.cs