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
- MbpInfo.cs
- StringUtil.cs
- DPTypeDescriptorContext.cs
- DiscoveryClientDocuments.cs
- DataGridCellClipboardEventArgs.cs
- SafeHandle.cs
- DataDesignUtil.cs
- iisPickupDirectory.cs
- ParamArrayAttribute.cs
- EditingCoordinator.cs
- TreeWalker.cs
- DataGridTableCollection.cs
- ComboBox.cs
- XPathCompileException.cs
- PlainXmlWriter.cs
- ConfigViewGenerator.cs
- COM2IDispatchConverter.cs
- Utilities.cs
- MatrixKeyFrameCollection.cs
- Task.cs
- LockRecoveryTask.cs
- NamespaceMapping.cs
- GC.cs
- TimelineCollection.cs
- JumpTask.cs
- PageClientProxyGenerator.cs
- PrtCap_Reader.cs
- MenuItemAutomationPeer.cs
- AssemblyAttributes.cs
- QueryResponse.cs
- Duration.cs
- OlePropertyStructs.cs
- SuppressIldasmAttribute.cs
- EdmConstants.cs
- AssemblyAttributes.cs
- ProcessModelSection.cs
- WebPartDescription.cs
- IArgumentProvider.cs
- FrameAutomationPeer.cs
- HttpRuntime.cs
- ProvidersHelper.cs
- LinkConverter.cs
- ClientReliableChannelBinder.cs
- ForEachAction.cs
- BitmapDecoder.cs
- AnnotationObservableCollection.cs
- SafeSecurityHelper.cs
- _RequestCacheProtocol.cs
- TextEffect.cs
- AssemblyName.cs
- StringStorage.cs
- WebHttpSecurityModeHelper.cs
- SQLBoolean.cs
- ForwardPositionQuery.cs
- SecurityTokenException.cs
- ItemDragEvent.cs
- ColorBuilder.cs
- ConstructorBuilder.cs
- TypeGeneratedEventArgs.cs
- MatrixTransform3D.cs
- IsolatedStorageFileStream.cs
- PlainXmlWriter.cs
- BoundsDrawingContextWalker.cs
- ApplyTemplatesAction.cs
- SelfSignedCertificate.cs
- OutputCacheProfile.cs
- DataControlButton.cs
- DiscoveryService.cs
- SystemIPv6InterfaceProperties.cs
- RtfControls.cs
- DbConnectionInternal.cs
- AssertUtility.cs
- DocumentOrderQuery.cs
- ContainerActivationHelper.cs
- ListViewGroup.cs
- ObsoleteAttribute.cs
- ValidationError.cs
- DocumentReferenceCollection.cs
- DrawingDrawingContext.cs
- ServicePoint.cs
- ToolboxDataAttribute.cs
- TraceListener.cs
- DbProviderSpecificTypePropertyAttribute.cs
- StateElement.cs
- BufferModesCollection.cs
- StrokeNodeEnumerator.cs
- ViewStateException.cs
- BoundField.cs
- SqlGatherConsumedAliases.cs
- SqlRewriteScalarSubqueries.cs
- NamedPipeActivation.cs
- RelatedCurrencyManager.cs
- XsdCachingReader.cs
- ProtocolProfile.cs
- VisualTarget.cs
- CodeMethodInvokeExpression.cs
- XmlSchemaInfo.cs
- VirtualPath.cs
- DataGridViewAutoSizeModeEventArgs.cs
- XmlStreamStore.cs