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
- ThreadStartException.cs
- GridViewRowPresenterBase.cs
- AnonymousIdentificationSection.cs
- MLangCodePageEncoding.cs
- CssStyleCollection.cs
- ExpressionVisitor.cs
- GridViewColumnCollectionChangedEventArgs.cs
- GACIdentityPermission.cs
- XmlSchemaInfo.cs
- Unit.cs
- UnrecognizedAssertionsBindingElement.cs
- DesignerOptions.cs
- ComboBox.cs
- SafeLibraryHandle.cs
- HostExecutionContextManager.cs
- IIS7UserPrincipal.cs
- OneOf.cs
- StylusButton.cs
- TextTreeUndo.cs
- MasterPageCodeDomTreeGenerator.cs
- SystemInformation.cs
- Triplet.cs
- BinaryFormatterWriter.cs
- BrowserCapabilitiesFactory.cs
- ValueUtilsSmi.cs
- SafeProcessHandle.cs
- DataExchangeServiceBinder.cs
- Assembly.cs
- WebBrowserEvent.cs
- ThreadStateException.cs
- BitmapEncoder.cs
- Schema.cs
- GZipStream.cs
- TextRunCache.cs
- LabelAutomationPeer.cs
- DefaultParameterValueAttribute.cs
- DocumentOrderComparer.cs
- SspiNegotiationTokenProvider.cs
- HtmlLink.cs
- Unit.cs
- ValidationErrorEventArgs.cs
- StrongTypingException.cs
- BitmapEffectInput.cs
- XmlFormatWriterGenerator.cs
- TimeSpanStorage.cs
- FileDialogCustomPlaces.cs
- TTSVoice.cs
- OdbcPermission.cs
- PathFigure.cs
- InternalConfigEventArgs.cs
- OleDbTransaction.cs
- Native.cs
- ListViewItem.cs
- StaticTextPointer.cs
- DSACryptoServiceProvider.cs
- DynamicMetaObject.cs
- MasterPageBuildProvider.cs
- HttpStreams.cs
- VirtualPathProvider.cs
- DbDataSourceEnumerator.cs
- ByteStreamMessageEncodingElement.cs
- DataGridViewCellMouseEventArgs.cs
- StateBag.cs
- PropertyValue.cs
- Margins.cs
- MetadataArtifactLoaderFile.cs
- HtmlAnchor.cs
- XmlTypeAttribute.cs
- SHA512Managed.cs
- OrderedDictionary.cs
- COM2TypeInfoProcessor.cs
- RectAnimationBase.cs
- TextEndOfSegment.cs
- InputProcessorProfilesLoader.cs
- ProfileSettings.cs
- LocationSectionRecord.cs
- XmlDataImplementation.cs
- ServiceMoniker.cs
- UIElement.cs
- DependencyObjectType.cs
- EventManager.cs
- GroupAggregateExpr.cs
- CompiledELinqQueryState.cs
- CreateUserWizardStep.cs
- HttpServerVarsCollection.cs
- Pkcs7Signer.cs
- Menu.cs
- XmlNotation.cs
- Cursor.cs
- WebPartDescription.cs
- HashSet.cs
- Geometry3D.cs
- ToggleProviderWrapper.cs
- UndoUnit.cs
- PrivilegeNotHeldException.cs
- IBuiltInEvidence.cs
- GridViewCommandEventArgs.cs
- DataListItem.cs
- HwndMouseInputProvider.cs
- PageHandlerFactory.cs