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
- LoadRetryConstantStrategy.cs
- SmtpReplyReader.cs
- MeasureItemEvent.cs
- ListViewItem.cs
- QueryOperator.cs
- RSAOAEPKeyExchangeDeformatter.cs
- CodeExpressionStatement.cs
- XmlBoundElement.cs
- DateRangeEvent.cs
- StringOutput.cs
- DataGridViewControlCollection.cs
- FixedHighlight.cs
- initElementDictionary.cs
- BaseInfoTable.cs
- ColorConverter.cs
- CompilerHelpers.cs
- SerializationSectionGroup.cs
- VirtualizingStackPanel.cs
- DynamicActionMessageFilter.cs
- filewebresponse.cs
- _RegBlobWebProxyDataBuilder.cs
- RequestChannel.cs
- ByteRangeDownloader.cs
- SecurityRuntime.cs
- QueryStringParameter.cs
- GlyphTypeface.cs
- SerializationStore.cs
- OutputCacheSettingsSection.cs
- TextPenaltyModule.cs
- SettingsProperty.cs
- StorageEntitySetMapping.cs
- ApplicationSecurityManager.cs
- HitTestParameters3D.cs
- cookie.cs
- CorePropertiesFilter.cs
- TableLayoutPanelCellPosition.cs
- FixedSOMTableCell.cs
- SwitchExpression.cs
- ILGenerator.cs
- Models.cs
- LocalValueEnumerator.cs
- BaseTemplateCodeDomTreeGenerator.cs
- ExceptionUtility.cs
- mediaeventshelper.cs
- GeneralTransform3DTo2DTo3D.cs
- RequestCachingSection.cs
- DocumentManager.cs
- ProcessThread.cs
- ServiceBehaviorElementCollection.cs
- CodeNamespaceCollection.cs
- EventInfo.cs
- IDQuery.cs
- DataGridHeaderBorder.cs
- ComPlusDiagnosticTraceRecords.cs
- StartUpEventArgs.cs
- BamlRecordReader.cs
- DataGridViewCellErrorTextNeededEventArgs.cs
- GACIdentityPermission.cs
- ObjectItemCollection.cs
- PropertyInfoSet.cs
- LambdaCompiler.Generated.cs
- OracleCommandBuilder.cs
- Triangle.cs
- RadioButton.cs
- DBNull.cs
- BehaviorEditorPart.cs
- WpfMemberInvoker.cs
- TextRange.cs
- securestring.cs
- ScalarOps.cs
- XmlCharCheckingReader.cs
- TreeNodeCollection.cs
- BuildProvider.cs
- ContentType.cs
- documentsequencetextpointer.cs
- TypeValidationEventArgs.cs
- DataGridViewSelectedColumnCollection.cs
- Condition.cs
- TypefaceCollection.cs
- HostProtectionException.cs
- CollectionViewGroup.cs
- SortDescriptionCollection.cs
- Win32SafeHandles.cs
- CodeComment.cs
- ActiveXHelper.cs
- XpsFontSubsetter.cs
- HuffCodec.cs
- Int32RectConverter.cs
- ObjectCacheSettings.cs
- RawMouseInputReport.cs
- SqlUtils.cs
- Instrumentation.cs
- XPathQilFactory.cs
- XmlElementList.cs
- RotateTransform3D.cs
- XPathAncestorIterator.cs
- BindingExpressionBase.cs
- DelegateArgumentValue.cs
- ICspAsymmetricAlgorithm.cs
- ImageMetadata.cs