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
- LineBreak.cs
- MultipleFilterMatchesException.cs
- QuadraticBezierSegment.cs
- ListenerSessionConnection.cs
- BitmapSource.cs
- COM2PictureConverter.cs
- TabControlAutomationPeer.cs
- FormsAuthenticationTicket.cs
- Brush.cs
- PriorityBinding.cs
- DefaultPrintController.cs
- MetadataArtifactLoaderCompositeFile.cs
- BindableAttribute.cs
- AdjustableArrowCap.cs
- AxisAngleRotation3D.cs
- HtmlFormWrapper.cs
- GrammarBuilder.cs
- BindingManagerDataErrorEventArgs.cs
- GradientBrush.cs
- MarkupExtensionSerializer.cs
- ProvideValueServiceProvider.cs
- ImageAnimator.cs
- WhitespaceRule.cs
- FixedSOMSemanticBox.cs
- GeneralTransform.cs
- NamedPipeHostedTransportConfiguration.cs
- NavigationWindowAutomationPeer.cs
- CngProperty.cs
- DispatcherExceptionFilterEventArgs.cs
- Page.cs
- PaperSource.cs
- XmlSchemaImport.cs
- DbInsertCommandTree.cs
- SerialPort.cs
- ConnectionOrientedTransportChannelListener.cs
- CachedFontFamily.cs
- SafeLocalMemHandle.cs
- ErrorHandler.cs
- EventBuilder.cs
- DefaultTextStoreTextComposition.cs
- CodeTypeDeclaration.cs
- SqlBulkCopyColumnMappingCollection.cs
- WebWorkflowRole.cs
- RuntimeConfigLKG.cs
- CryptoApi.cs
- TemplateColumn.cs
- ConfigurationLocation.cs
- DefaultPrintController.cs
- Invariant.cs
- DurableInstanceProvider.cs
- Typeface.cs
- StyleCollectionEditor.cs
- ResXResourceReader.cs
- DataGridViewTextBoxCell.cs
- RelationalExpressions.cs
- _NtlmClient.cs
- FactoryRecord.cs
- CodeDOMUtility.cs
- ReachDocumentReferenceCollectionSerializerAsync.cs
- StaticSiteMapProvider.cs
- RecognitionEventArgs.cs
- SqlDuplicator.cs
- DbUpdateCommandTree.cs
- EncryptedKey.cs
- Section.cs
- HostProtectionException.cs
- latinshape.cs
- XsltException.cs
- Grammar.cs
- Funcletizer.cs
- IndentTextWriter.cs
- MonikerProxyAttribute.cs
- ConsoleTraceListener.cs
- RequiredAttributeAttribute.cs
- InvokeProviderWrapper.cs
- XmlSerializableWriter.cs
- Deflater.cs
- ConfigDefinitionUpdates.cs
- StatusBar.cs
- SecurityException.cs
- WebPartDisplayModeCollection.cs
- ToolStripGrip.cs
- EntityContainerEmitter.cs
- XmlSerializationWriter.cs
- MailBnfHelper.cs
- Menu.cs
- PerformanceCounter.cs
- ProcessModelSection.cs
- UpdateExpressionVisitor.cs
- Oci.cs
- AnchoredBlock.cs
- FunctionNode.cs
- IISMapPath.cs
- CodeDefaultValueExpression.cs
- MetabaseServerConfig.cs
- FileSystemEventArgs.cs
- WebPartCatalogCloseVerb.cs
- BitmapDownload.cs
- BigInt.cs
- VBCodeProvider.cs