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
- Action.cs
- CompilationUnit.cs
- CultureInfo.cs
- Point3DKeyFrameCollection.cs
- ConstraintManager.cs
- Point3DAnimation.cs
- DataGridCellItemAutomationPeer.cs
- HttpTransportManager.cs
- SpeechEvent.cs
- ComboBox.cs
- DisplayMemberTemplateSelector.cs
- HttpListenerRequestUriBuilder.cs
- DocumentSequenceHighlightLayer.cs
- TypeUnloadedException.cs
- SqlPersonalizationProvider.cs
- RecommendedAsConfigurableAttribute.cs
- HtmlInputCheckBox.cs
- WCFServiceClientProxyGenerator.cs
- TransactionChannelListener.cs
- FixedSOMLineRanges.cs
- SqlBinder.cs
- IpcManager.cs
- OleDbConnectionPoolGroupProviderInfo.cs
- LicenseManager.cs
- DataGridViewCell.cs
- ReadOnlyDataSource.cs
- EventEntry.cs
- CodeTypeParameterCollection.cs
- TransactionInterop.cs
- TextBoxAutoCompleteSourceConverter.cs
- ScrollProviderWrapper.cs
- EntityDataSource.cs
- ItemsControl.cs
- Transform.cs
- ThreadStaticAttribute.cs
- MenuItemCollection.cs
- EditorZoneAutoFormat.cs
- CodePageEncoding.cs
- HandlerBase.cs
- XmlSchemaAttribute.cs
- Ipv6Element.cs
- DrawingImage.cs
- PropertyTab.cs
- HttpContextServiceHost.cs
- InstanceDescriptor.cs
- CurrencyWrapper.cs
- GPRECTF.cs
- ApplicationServicesHostFactory.cs
- Partitioner.cs
- StateDesigner.cs
- RegexBoyerMoore.cs
- Timeline.cs
- BoundField.cs
- ObjectRef.cs
- AncestorChangedEventArgs.cs
- PackageFilter.cs
- CompilerScope.Storage.cs
- unsafeIndexingFilterStream.cs
- ReferenceService.cs
- PeerMaintainer.cs
- DataGridViewTopRowAccessibleObject.cs
- ActiveXContainer.cs
- ListViewDataItem.cs
- ReliableSession.cs
- WorkflowOperationAsyncResult.cs
- IImplicitResourceProvider.cs
- DataBoundControl.cs
- PropertyCollection.cs
- WpfKnownType.cs
- Button.cs
- CompilerWrapper.cs
- NegatedCellConstant.cs
- SettingsPropertyIsReadOnlyException.cs
- DelegatingTypeDescriptionProvider.cs
- WrapperEqualityComparer.cs
- SizeIndependentAnimationStorage.cs
- KnownAssembliesSet.cs
- HttpRuntime.cs
- ReferencedCollectionType.cs
- Journaling.cs
- WindowManager.cs
- SystemInformation.cs
- FontCacheUtil.cs
- ZipIOModeEnforcingStream.cs
- ConfigurationStrings.cs
- EventLogQuery.cs
- SessionEndingEventArgs.cs
- OverflowException.cs
- MemberHolder.cs
- SecurityKeyEntropyMode.cs
- DispatcherTimer.cs
- PlaceHolder.cs
- SafeRightsManagementHandle.cs
- Size.cs
- X509CertificateCollection.cs
- BufferModeSettings.cs
- UnsafeMethods.cs
- SoapObjectWriter.cs
- TextBoxRenderer.cs
- AssemblyCollection.cs