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
![Network programming in C#, Network Programming in VB.NET, Network Programming in .NET](/images/book.jpg)
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- WebPartConnectionsConnectVerb.cs
- SafeWaitHandle.cs
- CorePropertiesFilter.cs
- ThreadExceptionEvent.cs
- PermissionSetEnumerator.cs
- DynamicArgumentDesigner.xaml.cs
- Utils.cs
- XmlUtil.cs
- UserControl.cs
- _NetworkingPerfCounters.cs
- List.cs
- PassportAuthenticationEventArgs.cs
- DefaultPropertiesToSend.cs
- PanelDesigner.cs
- Rules.cs
- UnknownWrapper.cs
- ListViewItem.cs
- ByteStream.cs
- Validator.cs
- RSAProtectedConfigurationProvider.cs
- CategoryNameCollection.cs
- SliderAutomationPeer.cs
- CodeRemoveEventStatement.cs
- AffineTransform3D.cs
- OrderedDictionaryStateHelper.cs
- SQLDateTimeStorage.cs
- AnnotationObservableCollection.cs
- TargetControlTypeAttribute.cs
- ExceptionValidationRule.cs
- ScalarRestriction.cs
- CodeAttributeArgument.cs
- CaretElement.cs
- UserControlFileEditor.cs
- WmlValidatorAdapter.cs
- XamlBuildTaskServices.cs
- TokenBasedSetEnumerator.cs
- HttpSysSettings.cs
- ComponentChangingEvent.cs
- GeneralTransform3DCollection.cs
- XmlValidatingReader.cs
- DataGridViewRowHeaderCell.cs
- WebPartExportVerb.cs
- ToolBarButtonClickEvent.cs
- TableRow.cs
- RotateTransform.cs
- Process.cs
- brushes.cs
- MimeParameterWriter.cs
- Model3DGroup.cs
- Line.cs
- ConfigXmlComment.cs
- DataGridLinkButton.cs
- ToolStripItemTextRenderEventArgs.cs
- ApplicationSettingsBase.cs
- MarkerProperties.cs
- GroupBox.cs
- DictionaryEntry.cs
- CodeBinaryOperatorExpression.cs
- DbSourceParameterCollection.cs
- LinqDataSourceContextEventArgs.cs
- FixedSOMLineRanges.cs
- XmlSchemaAppInfo.cs
- DictionaryTraceRecord.cs
- ZipIOExtraFieldPaddingElement.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- UnsafeNativeMethods.cs
- MemberExpressionHelper.cs
- ClassDataContract.cs
- remotingproxy.cs
- EditorPart.cs
- ByteConverter.cs
- ApplicationException.cs
- Thickness.cs
- DesignOnlyAttribute.cs
- XmlEncoding.cs
- ResourceFallbackManager.cs
- JournalEntryStack.cs
- UnicodeEncoding.cs
- DataGridViewCellFormattingEventArgs.cs
- PointConverter.cs
- TableLayoutPanelCellPosition.cs
- SafeBuffer.cs
- HtmlLinkAdapter.cs
- ExecutionContext.cs
- SynchronizingStream.cs
- SkinBuilder.cs
- IList.cs
- StringResourceManager.cs
- IsolatedStorageException.cs
- SoapElementAttribute.cs
- SwitchAttribute.cs
- SecurityKeyIdentifierClause.cs
- hresults.cs
- ExtensionWindowHeader.cs
- WmiEventSink.cs
- UrlParameterReader.cs
- Privilege.cs
- ConfigXmlCDataSection.cs
- Stack.cs
- TypeConstant.cs