Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- DynamicMethod.cs
- ParserStreamGeometryContext.cs
- AsyncOperationManager.cs
- HttpContextBase.cs
- MinimizableAttributeTypeConverter.cs
- EdmMember.cs
- OracleConnection.cs
- WindowInteractionStateTracker.cs
- TypeReference.cs
- FlatButtonAppearance.cs
- PerspectiveCamera.cs
- Aes.cs
- DateTimeFormatInfoScanner.cs
- RegexCapture.cs
- RecipientInfo.cs
- ViewManagerAttribute.cs
- SQLInt64Storage.cs
- DataGridViewHeaderCell.cs
- DataMemberConverter.cs
- Repeater.cs
- ReadOnlyMetadataCollection.cs
- DbConnectionPoolGroup.cs
- TabletDevice.cs
- UnsafePeerToPeerMethods.cs
- EndEvent.cs
- XmlChoiceIdentifierAttribute.cs
- FrameworkContentElementAutomationPeer.cs
- GetPageCompletedEventArgs.cs
- DebugTrace.cs
- CreateUserWizardStep.cs
- MonitoringDescriptionAttribute.cs
- DefaultSection.cs
- GridViewAutomationPeer.cs
- ByteStorage.cs
- SetState.cs
- PasswordBox.cs
- RTLAwareMessageBox.cs
- OleDbPermission.cs
- XmlQueryCardinality.cs
- WsdlInspector.cs
- PlanCompiler.cs
- ScriptServiceAttribute.cs
- DataSourceConverter.cs
- EventDescriptor.cs
- DBSqlParserTableCollection.cs
- WorkflowStateRollbackService.cs
- Expr.cs
- UpdateManifestForBrowserApplication.cs
- AsyncPostBackErrorEventArgs.cs
- IfAction.cs
- Reference.cs
- SafeFileHandle.cs
- DataBindingHandlerAttribute.cs
- StateWorkerRequest.cs
- CodeIdentifiers.cs
- querybuilder.cs
- ExpressionEditorAttribute.cs
- XmlSchemaObjectCollection.cs
- FtpWebResponse.cs
- CachedPathData.cs
- IPAddress.cs
- ListViewAutomationPeer.cs
- CompilerLocalReference.cs
- CommandID.cs
- InfoCardTrace.cs
- SyntaxCheck.cs
- SHA1Managed.cs
- ContextQuery.cs
- UxThemeWrapper.cs
- AbandonedMutexException.cs
- AuthenticationException.cs
- RadioButtonList.cs
- UnicodeEncoding.cs
- TcpTransportSecurity.cs
- AssemblyAttributesGoHere.cs
- PartialCachingControl.cs
- ListItemCollection.cs
- ToolStripDropDownButton.cs
- DrawingContextWalker.cs
- VoiceChangeEventArgs.cs
- CallSite.cs
- Item.cs
- TextWriter.cs
- GenericUriParser.cs
- DataControlFieldHeaderCell.cs
- DefaultBinder.cs
- FrameworkContentElement.cs
- TextRangeEditTables.cs
- CrossAppDomainChannel.cs
- CommonDialog.cs
- CopyCodeAction.cs
- DrawListViewColumnHeaderEventArgs.cs
- ReachDocumentReferenceCollectionSerializer.cs
- DropTarget.cs
- HttpRequestCacheValidator.cs
- ParserContext.cs
- DispatchWrapper.cs
- SafeNativeMethods.cs
- WorkflowDesignerMessageFilter.cs
- DifferencingCollection.cs