Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / wpf / src / Framework / System / Windows / Automation / Peers / DocumentViewerBaseAutomationPeer.cs / 1 / 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); } } 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); } } 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
- ThreadStartException.cs
- RequestResizeEvent.cs
- SerializeAbsoluteContext.cs
- ParserExtension.cs
- StateRuntime.cs
- ButtonFieldBase.cs
- MetricEntry.cs
- CodePropertyReferenceExpression.cs
- Size3D.cs
- TransformConverter.cs
- SqlParameterCollection.cs
- UIAgentAsyncBeginRequest.cs
- CodeNamespaceCollection.cs
- SudsWriter.cs
- Page.cs
- MimeTypeMapper.cs
- MimeParameters.cs
- AsymmetricSignatureFormatter.cs
- UserPreferenceChangedEventArgs.cs
- SoapSchemaExporter.cs
- AccessorTable.cs
- PipelineModuleStepContainer.cs
- WebPartDescriptionCollection.cs
- OdbcStatementHandle.cs
- HTMLTagNameToTypeMapper.cs
- ListenerElementsCollection.cs
- SafeNativeMethods.cs
- ScrollChangedEventArgs.cs
- COM2PictureConverter.cs
- ActiveXSite.cs
- DesignerActionMethodItem.cs
- _Rfc2616CacheValidators.cs
- TemplateNameScope.cs
- TraceRecord.cs
- RTLAwareMessageBox.cs
- Transform.cs
- CompareInfo.cs
- FilterableAttribute.cs
- PrintDialog.cs
- MeasurementDCInfo.cs
- StorageInfo.cs
- EnumMemberAttribute.cs
- TextBoxRenderer.cs
- Pkcs7Signer.cs
- messageonlyhwndwrapper.cs
- StrokeRenderer.cs
- EntryWrittenEventArgs.cs
- TemplateControlCodeDomTreeGenerator.cs
- SetterBaseCollection.cs
- SystemTcpConnection.cs
- CommandHelper.cs
- OdbcParameterCollection.cs
- GraphicsContainer.cs
- WebScriptEnablingElement.cs
- Calendar.cs
- FormatException.cs
- ToolStripProfessionalLowResolutionRenderer.cs
- SecurityTokenTypes.cs
- SecurityPermission.cs
- ExtractedStateEntry.cs
- PkcsUtils.cs
- Decoder.cs
- AnimationException.cs
- PersonalizationProviderHelper.cs
- TableLayoutRowStyleCollection.cs
- GeometryDrawing.cs
- ExpressionVisitor.cs
- EditorBrowsableAttribute.cs
- ExitEventArgs.cs
- WrappedIUnknown.cs
- DataKeyCollection.cs
- TemplateKey.cs
- AsyncResult.cs
- XmlSchemaSimpleContentExtension.cs
- SeparatorAutomationPeer.cs
- SimpleFieldTemplateFactory.cs
- ListSortDescriptionCollection.cs
- XmlName.cs
- EmissiveMaterial.cs
- PopupEventArgs.cs
- ResourcesGenerator.cs
- UnsafeNativeMethods.cs
- DataGrid.cs
- OrderPreservingSpoolingTask.cs
- Model3D.cs
- SqlDataSourceSelectingEventArgs.cs
- ExceptionWrapper.cs
- NavigationEventArgs.cs
- TextServicesDisplayAttributePropertyRanges.cs
- TimeSpanValidator.cs
- Int32Animation.cs
- AutomationProperty.cs
- wgx_commands.cs
- EditorPartCollection.cs
- MarshalByRefObject.cs
- UpdateRecord.cs
- ClientSettingsProvider.cs
- Base64Encoder.cs
- ObjectHandle.cs
- LoginView.cs