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
- MouseButton.cs
- SqlCrossApplyToCrossJoin.cs
- RightNameExpirationInfoPair.cs
- TransformerInfo.cs
- XPathException.cs
- CodeNamespaceImport.cs
- ControlTemplate.cs
- OrderedDictionaryStateHelper.cs
- HttpInputStream.cs
- PersonalizationAdministration.cs
- RootBrowserWindow.cs
- EntityModelBuildProvider.cs
- DataError.cs
- DocumentOrderQuery.cs
- CodeThrowExceptionStatement.cs
- DrawingCollection.cs
- LoginCancelEventArgs.cs
- AlphabeticalEnumConverter.cs
- Composition.cs
- TypeDependencyAttribute.cs
- PopOutPanel.cs
- CodeParameterDeclarationExpressionCollection.cs
- EllipseGeometry.cs
- GeometryDrawing.cs
- EntityKey.cs
- SmtpCommands.cs
- WarningException.cs
- WriteFileContext.cs
- ConfigurationStrings.cs
- ChangePasswordDesigner.cs
- CqlParserHelpers.cs
- CustomAttributeBuilder.cs
- Journal.cs
- ListenerAdapter.cs
- Visitors.cs
- SortedSetDebugView.cs
- Odbc32.cs
- RootAction.cs
- localization.cs
- RuntimeWrappedException.cs
- RtfToXamlReader.cs
- counter.cs
- XmlProcessingInstruction.cs
- StickyNoteAnnotations.cs
- ContainerVisual.cs
- IntersectQueryOperator.cs
- FrameworkContentElement.cs
- TextTreeUndo.cs
- PeerNameResolver.cs
- SqlBinder.cs
- CompilerTypeWithParams.cs
- XmlSchemaComplexContentRestriction.cs
- MD5.cs
- log.cs
- MobileCategoryAttribute.cs
- CodeEventReferenceExpression.cs
- Lasso.cs
- GlobalizationSection.cs
- DependencyPropertyValueSerializer.cs
- PlaceHolder.cs
- ErrorWebPart.cs
- COM2ColorConverter.cs
- TableLayoutStyleCollection.cs
- BaseDataListDesigner.cs
- ValidatorCompatibilityHelper.cs
- DomainUpDown.cs
- SoapElementAttribute.cs
- Buffer.cs
- WindowsRichEdit.cs
- PolicyStatement.cs
- ClientScriptManager.cs
- TypeSystemHelpers.cs
- XmlStreamNodeWriter.cs
- ApplicationContext.cs
- HiddenField.cs
- OrderByQueryOptionExpression.cs
- UnconditionalPolicy.cs
- HMACSHA384.cs
- ExtendedTransformFactory.cs
- HttpHostedTransportConfiguration.cs
- GridToolTip.cs
- ExpandCollapsePattern.cs
- Lasso.cs
- Journaling.cs
- NoneExcludedImageIndexConverter.cs
- ServiceSecurityAuditElement.cs
- DynamicDataRouteHandler.cs
- DeviceContext2.cs
- ISAPIWorkerRequest.cs
- StickyNoteContentControl.cs
- TableLayoutPanelResizeGlyph.cs
- ComplexTypeEmitter.cs
- SqlConnectionPoolGroupProviderInfo.cs
- TreeNodeBindingCollection.cs
- SignedXmlDebugLog.cs
- WindowsSpinner.cs
- Line.cs
- XmlSchemaSimpleTypeList.cs
- UnmanagedHandle.cs
- XPathAncestorIterator.cs