Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- LinkedResourceCollection.cs
- BooleanFunctions.cs
- ConfigXmlComment.cs
- OracleMonthSpan.cs
- StandardOleMarshalObject.cs
- PolyQuadraticBezierSegment.cs
- MediaElementAutomationPeer.cs
- SqlCommandBuilder.cs
- AuthorizationSection.cs
- TemplateControlParser.cs
- Visual3D.cs
- XsltContext.cs
- WindowsAuthenticationModule.cs
- DataGridPageChangedEventArgs.cs
- BaseInfoTable.cs
- RegexCapture.cs
- ProfileGroupSettings.cs
- WebBrowserHelper.cs
- DbgUtil.cs
- WindowsGraphics2.cs
- FormViewPageEventArgs.cs
- SolidColorBrush.cs
- TextEditorTyping.cs
- BinaryNode.cs
- ToolStripSplitStackLayout.cs
- DocumentPaginator.cs
- BinaryUtilClasses.cs
- Span.cs
- XmlSchemaDatatype.cs
- NoClickablePointException.cs
- ReferencedType.cs
- SwitchAttribute.cs
- EpmCustomContentDeSerializer.cs
- SubMenuStyle.cs
- OpCellTreeNode.cs
- OracleParameter.cs
- ApplicationServicesHostFactory.cs
- ScrollViewerAutomationPeer.cs
- ColumnMapVisitor.cs
- ItemCheckedEvent.cs
- FlowDocumentPage.cs
- TabPanel.cs
- MatrixTransform.cs
- TransportConfigurationTypeElement.cs
- MulticastDelegate.cs
- StrictModeSecurityHeaderElementInferenceEngine.cs
- AssemblyCollection.cs
- BooleanProjectedSlot.cs
- PeerTransportListenAddressConverter.cs
- WebAdminConfigurationHelper.cs
- DbgCompiler.cs
- InkSerializer.cs
- DefaultWorkflowLoaderService.cs
- Queue.cs
- XmlSchemaAttributeGroup.cs
- WorkflowExecutor.cs
- DesignerActionGlyph.cs
- Style.cs
- BrowserDefinition.cs
- BinaryEditor.cs
- SqlDataSourceConfigureSelectPanel.cs
- WmpBitmapEncoder.cs
- BamlTreeUpdater.cs
- ScrollViewerAutomationPeer.cs
- TemplateBuilder.cs
- KeyConstraint.cs
- WebPartMovingEventArgs.cs
- BamlRecordHelper.cs
- ResourceAttributes.cs
- ToolStripRendererSwitcher.cs
- DataKey.cs
- BlobPersonalizationState.cs
- Validator.cs
- NameTable.cs
- Guid.cs
- DesignerActionMethodItem.cs
- QilName.cs
- GeometryValueSerializer.cs
- Trigger.cs
- CodeConditionStatement.cs
- GeneralTransform.cs
- SystemColors.cs
- CqlBlock.cs
- AdRotator.cs
- DynamicDataResources.Designer.cs
- RootBrowserWindowAutomationPeer.cs
- BooleanAnimationUsingKeyFrames.cs
- Translator.cs
- CheckedPointers.cs
- SamlEvidence.cs
- Int32CollectionValueSerializer.cs
- ClientData.cs
- Comparer.cs
- ColorIndependentAnimationStorage.cs
- TreeWalkHelper.cs
- SerializationIncompleteException.cs
- ToggleButton.cs
- XmlSchemaChoice.cs
- String.cs
- Region.cs