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
- CodeCatchClause.cs
- ExceptQueryOperator.cs
- SamlConditions.cs
- DetailsViewRow.cs
- HttpModuleCollection.cs
- BuildManagerHost.cs
- Delegate.cs
- GC.cs
- DeflateEmulationStream.cs
- FullTrustAssembliesSection.cs
- InkCollectionBehavior.cs
- FeatureSupport.cs
- UTF8Encoding.cs
- LineGeometry.cs
- ErrorHandler.cs
- Deserializer.cs
- DesignerSerializationOptionsAttribute.cs
- ScriptResourceDefinition.cs
- ParenthesizePropertyNameAttribute.cs
- ImplicitInputBrush.cs
- ManipulationCompletedEventArgs.cs
- SafeFindHandle.cs
- Misc.cs
- DefaultAssemblyResolver.cs
- WebPartCatalogAddVerb.cs
- InstalledVoice.cs
- InfoCardRSAPKCS1SignatureDeformatter.cs
- MenuItem.cs
- DefaultTextStoreTextComposition.cs
- GlyphCache.cs
- MulticastDelegate.cs
- ValidationContext.cs
- PrivateUnsafeNativeCompoundFileMethods.cs
- RenamedEventArgs.cs
- COM2ICategorizePropertiesHandler.cs
- RTTypeWrapper.cs
- BmpBitmapEncoder.cs
- XmlSchemaAny.cs
- Tracer.cs
- XmlAutoDetectWriter.cs
- PtsHost.cs
- EntityWrapper.cs
- InternalCache.cs
- InkPresenter.cs
- PropertyDescriptorGridEntry.cs
- Matrix3D.cs
- XamlDesignerSerializationManager.cs
- OneOfElement.cs
- CodeSubDirectory.cs
- EntityDataSourceChangingEventArgs.cs
- StringResourceManager.cs
- FontNamesConverter.cs
- BinaryCommonClasses.cs
- PackWebRequestFactory.cs
- DataGrid.cs
- KeyNotFoundException.cs
- GridToolTip.cs
- DataGridViewLayoutData.cs
- ExpressionBuilder.cs
- SafeFileHandle.cs
- Ipv6Element.cs
- StringExpressionSet.cs
- BidirectionalDictionary.cs
- TabControlCancelEvent.cs
- SettingsProviderCollection.cs
- UpdateExpressionVisitor.cs
- HttpServerVarsCollection.cs
- KeyboardDevice.cs
- Stacktrace.cs
- WorkflowEventArgs.cs
- FunctionQuery.cs
- TileBrush.cs
- StorageEntityContainerMapping.cs
- SkipQueryOptionExpression.cs
- RoutedEventHandlerInfo.cs
- LinqDataSourceContextEventArgs.cs
- ConnectionPoint.cs
- CollectionEditVerbManager.cs
- TypeNameConverter.cs
- ImageDrawing.cs
- BamlLocalizerErrorNotifyEventArgs.cs
- DataGridViewRowEventArgs.cs
- SignatureToken.cs
- DataControlExtensions.cs
- EncodingTable.cs
- PrimitiveDataContract.cs
- Transform3DCollection.cs
- BaseValidator.cs
- ItemChangedEventArgs.cs
- XmlRawWriterWrapper.cs
- Timer.cs
- TextSpan.cs
- HwndHost.cs
- GridViewRowCollection.cs
- ValueTypeFixupInfo.cs
- Model3DGroup.cs
- PersonalizationStateQuery.cs
- SrgsToken.cs
- TabControl.cs
- InputLanguageEventArgs.cs