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
- ProfileGroupSettings.cs
- TextTreeObjectNode.cs
- Int32Rect.cs
- TransactionProtocol.cs
- ImageFormat.cs
- SafeProcessHandle.cs
- Base64Decoder.cs
- DecoderReplacementFallback.cs
- ResourceCodeDomSerializer.cs
- HttpApplicationFactory.cs
- LoadedOrUnloadedOperation.cs
- StreamWriter.cs
- NoClickablePointException.cs
- OleStrCAMarshaler.cs
- Page.cs
- WeakReferenceList.cs
- AdRotator.cs
- DataGridPagerStyle.cs
- SecurityTokenAuthenticator.cs
- ExternalDataExchangeClient.cs
- WebPart.cs
- DataGridViewComboBoxCell.cs
- XmlNamedNodeMap.cs
- DoubleLinkList.cs
- CleanUpVirtualizedItemEventArgs.cs
- ToolStripDesignerUtils.cs
- XmlHierarchyData.cs
- DeploymentExceptionMapper.cs
- ImageSource.cs
- namescope.cs
- PointKeyFrameCollection.cs
- MemoryPressure.cs
- ApplicationHost.cs
- ToolStripControlHost.cs
- DataServiceProcessingPipeline.cs
- TransportationConfigurationTypeInstallComponent.cs
- SqlDataReader.cs
- SqlCacheDependencySection.cs
- AbandonedMutexException.cs
- DesignerTextViewAdapter.cs
- ApplicationSecurityInfo.cs
- AliasGenerator.cs
- EdmProviderManifest.cs
- PointAnimationUsingPath.cs
- Buffer.cs
- XmlCustomFormatter.cs
- PointAnimationUsingKeyFrames.cs
- GeneralTransformGroup.cs
- EmbeddedMailObjectsCollection.cs
- PermissionRequestEvidence.cs
- CorrelationTokenInvalidatedHandler.cs
- Serializer.cs
- MessageVersionConverter.cs
- BitmapEffectDrawingContextState.cs
- StorageEntityContainerMapping.cs
- CollectionContainer.cs
- CodeMemberField.cs
- PingReply.cs
- BitmapImage.cs
- XmlNodeReader.cs
- PrintPageEvent.cs
- GroupBox.cs
- FunctionNode.cs
- ConfigPathUtility.cs
- invalidudtexception.cs
- WizardPanel.cs
- SqlBooleanMismatchVisitor.cs
- ColumnTypeConverter.cs
- ProvideValueServiceProvider.cs
- PersonalizableTypeEntry.cs
- Misc.cs
- WindowsRebar.cs
- Bitmap.cs
- WebPartMenuStyle.cs
- EntityCollection.cs
- DetailsViewUpdateEventArgs.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- RootProfilePropertySettingsCollection.cs
- RoutingTable.cs
- HttpRequest.cs
- Html32TextWriter.cs
- XmlQueryContext.cs
- Size3D.cs
- StyleCollectionEditor.cs
- ToolboxComponentsCreatingEventArgs.cs
- ContentPlaceHolder.cs
- StorageEndPropertyMapping.cs
- ipaddressinformationcollection.cs
- BaseCAMarshaler.cs
- HandlerBase.cs
- CalloutQueueItem.cs
- ReachIDocumentPaginatorSerializer.cs
- PersonalizableTypeEntry.cs
- PerformanceCounter.cs
- ProxyHelper.cs
- WebContext.cs
- InfoCardBaseException.cs
- Psha1DerivedKeyGeneratorHelper.cs
- GridViewUpdatedEventArgs.cs
- WindowsStatusBar.cs