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
- LoadGrammarCompletedEventArgs.cs
- CompilerError.cs
- CellQuery.cs
- UnknownBitmapEncoder.cs
- Attributes.cs
- _HeaderInfoTable.cs
- OdbcParameter.cs
- ToolStripLabel.cs
- COM2ColorConverter.cs
- PreviewPrintController.cs
- EntityViewGenerationAttribute.cs
- TextSearch.cs
- SimpleType.cs
- ClockController.cs
- CodeObject.cs
- BinaryNode.cs
- WebColorConverter.cs
- FontStyleConverter.cs
- ToolStripSplitButton.cs
- ComPlusAuthorization.cs
- CaseCqlBlock.cs
- SystemIPAddressInformation.cs
- AnnotationDocumentPaginator.cs
- PageSettings.cs
- IncrementalHitTester.cs
- ContentOperations.cs
- ToolStripRenderEventArgs.cs
- LogReserveAndAppendState.cs
- ParserHooks.cs
- FullTextBreakpoint.cs
- PasswordPropertyTextAttribute.cs
- ItemsPresenter.cs
- StrokeIntersection.cs
- TrustManager.cs
- PropertyGridCommands.cs
- TypeDependencyAttribute.cs
- GeneralTransform3DTo2DTo3D.cs
- SpecialFolderEnumConverter.cs
- KnownColorTable.cs
- BuildProvider.cs
- MimePart.cs
- EntityDesignerBuildProvider.cs
- ZipIORawDataFileBlock.cs
- ElasticEase.cs
- EntryWrittenEventArgs.cs
- SqlReorderer.cs
- DataMemberAttribute.cs
- RequestChannel.cs
- handlecollector.cs
- ConstraintEnumerator.cs
- XmlMembersMapping.cs
- ProtocolsConfigurationEntry.cs
- DbgUtil.cs
- NullableConverter.cs
- HandlerWithFactory.cs
- basecomparevalidator.cs
- Translator.cs
- XmlTypeMapping.cs
- SoapIgnoreAttribute.cs
- DbConnectionClosed.cs
- ErrorEventArgs.cs
- QueryPageSettingsEventArgs.cs
- DataObjectMethodAttribute.cs
- SQLInt16Storage.cs
- SpecialNameAttribute.cs
- CustomPopupPlacement.cs
- PublisherIdentityPermission.cs
- DateTimeConverter2.cs
- CfgSemanticTag.cs
- XmlSchemaValidator.cs
- ObjectDataSourceDesigner.cs
- DecoderExceptionFallback.cs
- XmlSchemaElement.cs
- Renderer.cs
- FontDialog.cs
- DataKeyCollection.cs
- compensatingcollection.cs
- FrugalMap.cs
- PngBitmapDecoder.cs
- CollectionViewProxy.cs
- DrawTreeNodeEventArgs.cs
- _TimerThread.cs
- SrgsGrammar.cs
- SqlDataAdapter.cs
- ToolStripItemRenderEventArgs.cs
- XPathException.cs
- HebrewCalendar.cs
- ISSmlParser.cs
- MediaPlayer.cs
- ProfileServiceManager.cs
- LinearGradientBrush.cs
- GlyphTypeface.cs
- NumberFormatInfo.cs
- MulticastNotSupportedException.cs
- UpnEndpointIdentity.cs
- NativeRecognizer.cs
- ConsoleTraceListener.cs
- Message.cs
- ReverseInheritProperty.cs
- SafeIUnknown.cs