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
- RemoteHelper.cs
- CompiledELinqQueryState.cs
- ClickablePoint.cs
- DataPagerFieldCollection.cs
- FormsAuthenticationModule.cs
- ProtectedConfiguration.cs
- SqlDataSourceSelectingEventArgs.cs
- IItemContainerGenerator.cs
- BamlLocalizabilityResolver.cs
- LogEntryUtils.cs
- WebPartsSection.cs
- ComNativeDescriptor.cs
- SafeRightsManagementQueryHandle.cs
- Pool.cs
- EntitySetBase.cs
- TextFormatterHost.cs
- PropertyInformation.cs
- Main.cs
- ContentIterators.cs
- BasicCellRelation.cs
- MetaChildrenColumn.cs
- ValidationResult.cs
- Dictionary.cs
- ListBoxAutomationPeer.cs
- TypeNameConverter.cs
- FlowLayout.cs
- DeadCharTextComposition.cs
- OutputCacheModule.cs
- CodeAttributeArgumentCollection.cs
- OneOfTypeConst.cs
- SymmetricSecurityBindingElement.cs
- ManagedWndProcTracker.cs
- PeerCollaborationPermission.cs
- ReadOnlyTernaryTree.cs
- CapabilitiesAssignment.cs
- TemplateField.cs
- XmlNotation.cs
- FontWeightConverter.cs
- VersionValidator.cs
- WebPartConnection.cs
- OutputCacheSection.cs
- RequestResponse.cs
- EventSetter.cs
- ThreadSafeList.cs
- XmlTextWriter.cs
- SymLanguageType.cs
- BaseValidatorDesigner.cs
- PointAnimationUsingPath.cs
- AppSettingsExpressionEditor.cs
- ObjectKeyFrameCollection.cs
- ScriptReferenceEventArgs.cs
- DictionaryGlobals.cs
- XmlRawWriter.cs
- FileIOPermission.cs
- XmlSerializerNamespaces.cs
- BitmapSource.cs
- DefaultValueAttribute.cs
- OrderByBuilder.cs
- ViewCellRelation.cs
- RichTextBoxConstants.cs
- BitmapCodecInfoInternal.cs
- RsaKeyGen.cs
- ToolStripPanelDesigner.cs
- QuotedPairReader.cs
- MsmqBindingElementBase.cs
- TextBreakpoint.cs
- FormViewUpdateEventArgs.cs
- EmissiveMaterial.cs
- Comparer.cs
- _emptywebproxy.cs
- WsdlParser.cs
- FieldMetadata.cs
- BCLDebug.cs
- newinstructionaction.cs
- TextEditorParagraphs.cs
- FaultDescription.cs
- FixedTextSelectionProcessor.cs
- OrCondition.cs
- StringFreezingAttribute.cs
- WorkflowRuntimeEndpoint.cs
- Point.cs
- RenderTargetBitmap.cs
- NativeActivity.cs
- DataSourceCacheDurationConverter.cs
- UInt64.cs
- LogoValidationException.cs
- Debug.cs
- MethodRental.cs
- NativeMethodsOther.cs
- SrgsRulesCollection.cs
- ExtractedStateEntry.cs
- ipaddressinformationcollection.cs
- ImageSourceValueSerializer.cs
- WSDualHttpBindingElement.cs
- shaperfactoryquerycacheentry.cs
- RepeaterDataBoundAdapter.cs
- TraceSection.cs
- ButtonChrome.cs
- BrowserTree.cs
- XamlTreeBuilderBamlRecordWriter.cs