Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / Automation / Peers / DocumentViewerBaseAutomationPeer.cs / 1305600 / DocumentViewerBaseAutomationPeer.cs
//---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // // File: DocumentViewerBaseAutomationPeer.cs // // Description: AutomationPeer associated with DocumentViewerBase. // //--------------------------------------------------------------------------- using System.Collections.Generic; // Listusing System.Windows.Controls.Primitives; // DocumentViewerBase using System.Windows.Documents; // IDocumentPaginatorSource namespace System.Windows.Automation.Peers { /// /// AutomationPeer associated with DocumentViewerBase. /// public class DocumentViewerBaseAutomationPeer : FrameworkElementAutomationPeer { ////// Constructor. /// /// Owner of the AutomationPeer. public DocumentViewerBaseAutomationPeer(DocumentViewerBase owner) : base(owner) { } ////// public override object GetPattern(PatternInterface patternInterface) { object returnValue = null; if (patternInterface == PatternInterface.Text) { // Make sure that Automation children are created. this.GetChildren(); // Re-expose TextPattern from hosted document. if (_documentPeer != null) { _documentPeer.EventsSource = this; returnValue = _documentPeer.GetPattern(patternInterface); } } else { returnValue = base.GetPattern(patternInterface); } return returnValue; } ////// /// ////// /// AutomationPeer associated with DocumentViewerBase returns an AutomationPeer /// for hosted Document and for elements in the style. /// protected override ListGetChildrenCore() { // Get children for all elements in the style. List children = base.GetChildrenCore(); // Add AutomationPeer associated with the document. // Make it the first child of the collection. AutomationPeer documentPeer = GetDocumentAutomationPeer(); if (_documentPeer != documentPeer) { if (_documentPeer != null) { _documentPeer.OnDisconnected(); } _documentPeer = documentPeer as DocumentAutomationPeer; } if (documentPeer != null) { if (children == null) { children = new List (); } children.Add(documentPeer); } return children; } /// /// protected override AutomationControlType GetAutomationControlTypeCore() { return AutomationControlType.Document; } ////// /// protected override string GetClassNameCore() { return "DocumentViewer"; } ////// /// Retrieves AutomationPeer for the document. /// ///private AutomationPeer GetDocumentAutomationPeer() { AutomationPeer documentPeer = null; IDocumentPaginatorSource document = ((DocumentViewerBase)Owner).Document; if (document != null) { if (document is UIElement) { documentPeer = UIElementAutomationPeer.CreatePeerForElement((UIElement)document); } else if (document is ContentElement) { documentPeer = ContentElementAutomationPeer.CreatePeerForElement((ContentElement)document); } } return documentPeer; } private DocumentAutomationPeer _documentPeer; } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //---------------------------------------------------------------------------- // // Copyright (C) Microsoft Corporation. All rights reserved. // // File: DocumentViewerBaseAutomationPeer.cs // // Description: AutomationPeer associated with DocumentViewerBase. // //--------------------------------------------------------------------------- using System.Collections.Generic; // List using System.Windows.Controls.Primitives; // DocumentViewerBase using System.Windows.Documents; // IDocumentPaginatorSource namespace System.Windows.Automation.Peers { /// /// AutomationPeer associated with DocumentViewerBase. /// public class DocumentViewerBaseAutomationPeer : FrameworkElementAutomationPeer { ////// Constructor. /// /// Owner of the AutomationPeer. public DocumentViewerBaseAutomationPeer(DocumentViewerBase owner) : base(owner) { } ////// public override object GetPattern(PatternInterface patternInterface) { object returnValue = null; if (patternInterface == PatternInterface.Text) { // Make sure that Automation children are created. this.GetChildren(); // Re-expose TextPattern from hosted document. if (_documentPeer != null) { _documentPeer.EventsSource = this; returnValue = _documentPeer.GetPattern(patternInterface); } } else { returnValue = base.GetPattern(patternInterface); } return returnValue; } ////// /// ////// /// AutomationPeer associated with DocumentViewerBase returns an AutomationPeer /// for hosted Document and for elements in the style. /// protected override ListGetChildrenCore() { // Get children for all elements in the style. List children = base.GetChildrenCore(); // Add AutomationPeer associated with the document. // Make it the first child of the collection. AutomationPeer documentPeer = GetDocumentAutomationPeer(); if (_documentPeer != documentPeer) { if (_documentPeer != null) { _documentPeer.OnDisconnected(); } _documentPeer = documentPeer as DocumentAutomationPeer; } if (documentPeer != null) { if (children == null) { children = new List (); } children.Add(documentPeer); } return children; } /// /// protected override AutomationControlType GetAutomationControlTypeCore() { return AutomationControlType.Document; } ////// /// protected override string GetClassNameCore() { return "DocumentViewer"; } ////// /// Retrieves AutomationPeer for the document. /// ///private AutomationPeer GetDocumentAutomationPeer() { AutomationPeer documentPeer = null; IDocumentPaginatorSource document = ((DocumentViewerBase)Owner).Document; if (document != null) { if (document is UIElement) { documentPeer = UIElementAutomationPeer.CreatePeerForElement((UIElement)document); } else if (document is ContentElement) { documentPeer = ContentElementAutomationPeer.CreatePeerForElement((ContentElement)document); } } return documentPeer; } private DocumentAutomationPeer _documentPeer; } } // 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
- TextSegment.cs
- GrammarBuilderRuleRef.cs
- Exceptions.cs
- ActivityMarkupSerializationProvider.cs
- ReaderOutput.cs
- AuthenticatedStream.cs
- DrawingAttributes.cs
- PathFigureCollectionConverter.cs
- SrgsGrammarCompiler.cs
- ImageAutomationPeer.cs
- HelloOperation11AsyncResult.cs
- X509Chain.cs
- EntityViewGenerator.cs
- DataSourceUtil.cs
- IntegerFacetDescriptionElement.cs
- ContextDataSource.cs
- HtmlEncodedRawTextWriter.cs
- Int32AnimationBase.cs
- TextServicesCompartmentContext.cs
- BitHelper.cs
- HtmlTextArea.cs
- RectangleConverter.cs
- WorkflowIdleElement.cs
- SqlNotificationRequest.cs
- MouseCaptureWithinProperty.cs
- QuadraticEase.cs
- TypeDescriptor.cs
- XmlDownloadManager.cs
- DataKeyArray.cs
- Parameter.cs
- TcpHostedTransportConfiguration.cs
- ISAPIApplicationHost.cs
- FactoryGenerator.cs
- DllHostInitializer.cs
- XsltContext.cs
- BitmapEffectGeneralTransform.cs
- ButtonFlatAdapter.cs
- AudioDeviceOut.cs
- XmlDownloadManager.cs
- EventData.cs
- DBConnectionString.cs
- DynamicField.cs
- TypeRestriction.cs
- BufferModesCollection.cs
- PropertyMapper.cs
- PathFigure.cs
- ResponseBodyWriter.cs
- ClientEventManager.cs
- SimpleApplicationHost.cs
- SafeWaitHandle.cs
- XmlSchemaObject.cs
- DataGridViewCellStyleEditor.cs
- PopupRoot.cs
- CookielessHelper.cs
- Win32.cs
- RadioButtonPopupAdapter.cs
- AdRotatorDesigner.cs
- CodeMethodReturnStatement.cs
- ScriptControlManager.cs
- CodeDirectoryCompiler.cs
- SortAction.cs
- SinglePageViewer.cs
- RuntimeArgument.cs
- ComponentDispatcher.cs
- CrossContextChannel.cs
- PenThreadWorker.cs
- MetadataItem_Static.cs
- Exceptions.cs
- XmlDataSourceNodeDescriptor.cs
- StorageInfo.cs
- WindowsScroll.cs
- SortQuery.cs
- DocumentReference.cs
- WorkflowMarkupSerializationManager.cs
- InvalidComObjectException.cs
- SoapCodeExporter.cs
- TextBoxAutomationPeer.cs
- Tuple.cs
- BooleanProjectedSlot.cs
- RelatedPropertyManager.cs
- ChtmlImageAdapter.cs
- GZipStream.cs
- HtmlInputPassword.cs
- ToolboxComponentsCreatingEventArgs.cs
- ConfigXmlWhitespace.cs
- XmlSchemaElement.cs
- Encoding.cs
- SqlDuplicator.cs
- CodeSnippetCompileUnit.cs
- ArrayExtension.cs
- DiscoveryReference.cs
- ScrollBar.cs
- StackBuilderSink.cs
- InputProcessorProfiles.cs
- WebPartConnectionsDisconnectVerb.cs
- TextSpanModifier.cs
- NoClickablePointException.cs
- MenuTracker.cs
- RadioButton.cs
- DBBindings.cs