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
- DetailsViewInsertEventArgs.cs
- OLEDB_Util.cs
- Double.cs
- OrderedDictionaryStateHelper.cs
- ErrorWrapper.cs
- ControlCodeDomSerializer.cs
- mactripleDES.cs
- EDesignUtil.cs
- Property.cs
- BooleanStorage.cs
- Sql8ExpressionRewriter.cs
- Membership.cs
- InheritanceContextChangedEventManager.cs
- TextEncodedRawTextWriter.cs
- FunctionNode.cs
- SqlStatistics.cs
- xml.cs
- NameValuePair.cs
- EastAsianLunisolarCalendar.cs
- DataGridItemEventArgs.cs
- LocalIdKeyIdentifierClause.cs
- Int32Collection.cs
- SqlFunctionAttribute.cs
- ZoneIdentityPermission.cs
- PropertyGridDesigner.cs
- CodeDomDesignerLoader.cs
- TextBlockAutomationPeer.cs
- EraserBehavior.cs
- ExceptionHelpers.cs
- CompilationRelaxations.cs
- StubHelpers.cs
- DispatcherEventArgs.cs
- SerializationInfoEnumerator.cs
- WebPartsPersonalization.cs
- Int32Rect.cs
- HuffModule.cs
- CustomErrorCollection.cs
- ExtendedProperty.cs
- ReferenceEqualityComparer.cs
- EnvironmentPermission.cs
- DbModificationCommandTree.cs
- ClientTargetCollection.cs
- TogglePattern.cs
- GlyphingCache.cs
- Metafile.cs
- URIFormatException.cs
- Rotation3DKeyFrameCollection.cs
- ChangeProcessor.cs
- TextModifierScope.cs
- PropertyDescriptor.cs
- RectAnimationBase.cs
- ThemeDictionaryExtension.cs
- SettingsBase.cs
- UnsafeNativeMethods.cs
- CopyOnWriteList.cs
- Rotation3D.cs
- InternalResources.cs
- RotateTransform3D.cs
- DataRow.cs
- WizardSideBarListControlItemEventArgs.cs
- ColumnHeaderCollectionEditor.cs
- Single.cs
- ManagementDateTime.cs
- PageAsyncTaskManager.cs
- SvcMapFileLoader.cs
- RuntimeConfigLKG.cs
- OleDbConnection.cs
- EmptyEnumerator.cs
- DbProviderFactoriesConfigurationHandler.cs
- Border.cs
- ClaimSet.cs
- ObjRef.cs
- SerializerProvider.cs
- TextEffectCollection.cs
- MultilineStringConverter.cs
- NavigatorInput.cs
- TextBoxRenderer.cs
- SqlGenerator.cs
- Unit.cs
- CodeObject.cs
- DataGridViewCellFormattingEventArgs.cs
- DataColumnMappingCollection.cs
- SortFieldComparer.cs
- XmlQueryStaticData.cs
- UpdateTracker.cs
- WindowsStatusBar.cs
- SspiSafeHandles.cs
- Columns.cs
- EventlogProvider.cs
- TemplateLookupAction.cs
- DataGridViewRowPrePaintEventArgs.cs
- TemplateKeyConverter.cs
- OptimisticConcurrencyException.cs
- KerberosReceiverSecurityToken.cs
- ReadContentAsBinaryHelper.cs
- EndpointAddressMessageFilterTable.cs
- EmptyEnumerator.cs
- Missing.cs
- EntityDesignerBuildProvider.cs
- PointHitTestParameters.cs