Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- SectionInformation.cs
- UserControl.cs
- ButtonChrome.cs
- DesignerForm.cs
- ZipIOExtraFieldZip64Element.cs
- BinaryReader.cs
- TraceLevelStore.cs
- ResolveNameEventArgs.cs
- DataGridTablesFactory.cs
- ViewGenerator.cs
- input.cs
- XmlDataSourceView.cs
- EpmContentDeSerializerBase.cs
- DockingAttribute.cs
- Geometry3D.cs
- ConfigurationFileMap.cs
- ContentDisposition.cs
- SiteMapNodeCollection.cs
- ConditionCollection.cs
- Simplifier.cs
- Stack.cs
- SignerInfo.cs
- LinearGradientBrush.cs
- EventProvider.cs
- PagedDataSource.cs
- ClientScriptManagerWrapper.cs
- ContextTokenTypeConverter.cs
- CryptoHandle.cs
- SeverityFilter.cs
- SmtpMail.cs
- XmlProcessingInstruction.cs
- ApplicationFileParser.cs
- ParseElement.cs
- RadioButtonAutomationPeer.cs
- PropertyGridCommands.cs
- IPPacketInformation.cs
- AndMessageFilter.cs
- ValidationErrorCollection.cs
- IOThreadTimer.cs
- MetaType.cs
- TimelineGroup.cs
- RemotingSurrogateSelector.cs
- NonVisualControlAttribute.cs
- SponsorHelper.cs
- Converter.cs
- ValueType.cs
- XmlAttributeCache.cs
- _HeaderInfo.cs
- WindowsGraphics.cs
- RectConverter.cs
- OleDbParameterCollection.cs
- AdapterSwitches.cs
- CompositeScriptReference.cs
- ProgressBarAutomationPeer.cs
- DebugManager.cs
- ClientEventManager.cs
- InputMethodStateTypeInfo.cs
- MediaSystem.cs
- SmtpReplyReaderFactory.cs
- TypedReference.cs
- initElementDictionary.cs
- TableCellAutomationPeer.cs
- Section.cs
- altserialization.cs
- EdmProperty.cs
- WebConfigurationHost.cs
- DataGridAddNewRow.cs
- ParagraphResult.cs
- TypeFieldSchema.cs
- FileIOPermission.cs
- WinInet.cs
- StaticContext.cs
- SqlCommandSet.cs
- ToolStripItemCollection.cs
- UnsignedPublishLicense.cs
- LocatorManager.cs
- DataGridState.cs
- BitmapSource.cs
- HttpRawResponse.cs
- LinqDataSourceStatusEventArgs.cs
- AutomationPropertyInfo.cs
- ByteViewer.cs
- HtmlWindow.cs
- CultureNotFoundException.cs
- ScriptRef.cs
- UrlMapping.cs
- MimeXmlImporter.cs
- DataTable.cs
- VariableQuery.cs
- HostProtectionPermission.cs
- CalendarSelectionChangedEventArgs.cs
- RangeBaseAutomationPeer.cs
- GridView.cs
- SimpleType.cs
- UpdateTracker.cs
- ClientTargetCollection.cs
- InternalPermissions.cs
- PixelFormats.cs
- WorkflowInstanceAbortedRecord.cs
- InputLanguageEventArgs.cs