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
- InputProcessorProfilesLoader.cs
- PointAnimation.cs
- InfoCardBaseException.cs
- ThreadStaticAttribute.cs
- Rfc4050KeyFormatter.cs
- OletxResourceManager.cs
- DeflateEmulationStream.cs
- SiteOfOriginContainer.cs
- Stacktrace.cs
- DeploymentExceptionMapper.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- SystemBrushes.cs
- DefaultAuthorizationContext.cs
- SubMenuStyleCollection.cs
- BinaryObjectInfo.cs
- DataObjectSettingDataEventArgs.cs
- _IPv6Address.cs
- OptimizedTemplateContentHelper.cs
- WmpBitmapEncoder.cs
- CryptoConfig.cs
- WebPartAddingEventArgs.cs
- FatalException.cs
- SqlConnectionPoolProviderInfo.cs
- Transform3DGroup.cs
- EdgeProfileValidation.cs
- TreeViewImageGenerator.cs
- ControlCachePolicy.cs
- ImageMapEventArgs.cs
- FamilyTypeface.cs
- SchemaTypeEmitter.cs
- OdbcCommand.cs
- WindowsFont.cs
- ListMarkerLine.cs
- ConnectionConsumerAttribute.cs
- RichTextBoxConstants.cs
- LongValidator.cs
- Button.cs
- ObjectDataSource.cs
- SqlParameter.cs
- TypeHelpers.cs
- SystemInfo.cs
- ColumnMapVisitor.cs
- TypeForwardedToAttribute.cs
- RegexTree.cs
- Trigger.cs
- EndpointInfoCollection.cs
- GlyphingCache.cs
- ParseChildrenAsPropertiesAttribute.cs
- SubMenuStyleCollection.cs
- ButtonStandardAdapter.cs
- OrderedHashRepartitionEnumerator.cs
- ADConnectionHelper.cs
- XmlDigitalSignatureProcessor.cs
- DefaultBinder.cs
- CellNormalizer.cs
- PassportAuthenticationEventArgs.cs
- Pen.cs
- EventSetter.cs
- XComponentModel.cs
- TextTrailingWordEllipsis.cs
- XPathNodeInfoAtom.cs
- WebPartCancelEventArgs.cs
- ExtractedStateEntry.cs
- TemplateNodeContextMenu.cs
- MemoryPressure.cs
- DataControlButton.cs
- FixUp.cs
- LogWriteRestartAreaState.cs
- XmlSchemaAnnotation.cs
- RoleManagerSection.cs
- SqlCacheDependencyDatabaseCollection.cs
- DataGridViewCellLinkedList.cs
- Deflater.cs
- AliasedSlot.cs
- TagPrefixAttribute.cs
- RequestQueue.cs
- OpenTypeCommon.cs
- AdCreatedEventArgs.cs
- UshortList2.cs
- MonitorWrapper.cs
- XmlAnyElementAttribute.cs
- RectKeyFrameCollection.cs
- Bezier.cs
- RootAction.cs
- TimerElapsedEvenArgs.cs
- ButtonPopupAdapter.cs
- ContractAdapter.cs
- ComponentDispatcherThread.cs
- SpellerStatusTable.cs
- AsymmetricSignatureFormatter.cs
- MatrixUtil.cs
- AlternateViewCollection.cs
- PointAnimationBase.cs
- DesignerObjectListAdapter.cs
- WebPartConnection.cs
- SyndicationElementExtension.cs
- TriState.cs
- XMLDiffLoader.cs
- Transform.cs
- XmlWriterTraceListener.cs