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; // 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 List GetChildrenCore()
{
// 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 List GetChildrenCore()
{
// 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
- peernodeimplementation.cs
- ReadOnlyCollection.cs
- XNodeNavigator.cs
- PeerCollaboration.cs
- PersonalizationStateInfo.cs
- CharacterMetrics.cs
- altserialization.cs
- BufferModeSettings.cs
- DataRelation.cs
- SingleStorage.cs
- PageCatalogPart.cs
- NativeCppClassAttribute.cs
- httpstaticobjectscollection.cs
- GACMembershipCondition.cs
- CultureTable.cs
- SqlNotificationRequest.cs
- CultureInfo.cs
- DateBoldEvent.cs
- XmlTextReader.cs
- JsonWriter.cs
- Triplet.cs
- LoginViewDesigner.cs
- ExpressionEditorAttribute.cs
- AmbientProperties.cs
- XmlNotation.cs
- COAUTHIDENTITY.cs
- Focus.cs
- Array.cs
- DataSourceXmlSerializationAttribute.cs
- XmlObjectSerializerContext.cs
- DbConnectionHelper.cs
- FixedPageProcessor.cs
- SecurityRuntime.cs
- Select.cs
- MobileControlsSection.cs
- MonthChangedEventArgs.cs
- Win32.cs
- MatrixKeyFrameCollection.cs
- TargetConverter.cs
- MLangCodePageEncoding.cs
- VSWCFServiceContractGenerator.cs
- CompilerWrapper.cs
- ObservableCollection.cs
- CreateUserWizardAutoFormat.cs
- Roles.cs
- Timer.cs
- TimelineGroup.cs
- ListBoxItemWrapperAutomationPeer.cs
- IgnorePropertiesAttribute.cs
- IProducerConsumerCollection.cs
- TraceListeners.cs
- TemplateKeyConverter.cs
- GetReadStreamResult.cs
- BasePropertyDescriptor.cs
- HiddenField.cs
- KeysConverter.cs
- FrameworkRichTextComposition.cs
- DataContract.cs
- PenThreadPool.cs
- ChannelRequirements.cs
- BrowserCapabilitiesFactory.cs
- CFStream.cs
- SafeEventLogWriteHandle.cs
- Rectangle.cs
- Floater.cs
- PerformanceCounterCategory.cs
- HyperlinkAutomationPeer.cs
- MissingSatelliteAssemblyException.cs
- PathFigureCollectionValueSerializer.cs
- LedgerEntry.cs
- GuidTagList.cs
- WSFederationHttpSecurity.cs
- DBConnection.cs
- QilInvokeLateBound.cs
- WindowsFormsLinkLabel.cs
- KeyTimeConverter.cs
- DependencyProperty.cs
- SamlAssertionDirectKeyIdentifierClause.cs
- FileDialog_Vista_Interop.cs
- DeferredTextReference.cs
- InternalEnumValidator.cs
- CheckBoxAutomationPeer.cs
- ParserExtension.cs
- PathFigureCollection.cs
- RuleRef.cs
- WebUtil.cs
- DoubleSumAggregationOperator.cs
- MatrixConverter.cs
- MailDefinition.cs
- TypeName.cs
- FontFamilyIdentifier.cs
- DateTimeOffset.cs
- Transform3DCollection.cs
- CompilerTypeWithParams.cs
- BitmapEffectGeneralTransform.cs
- WebPartAddingEventArgs.cs
- PropertyGrid.cs
- KeyPressEvent.cs
- FileRegion.cs
- ColorTransformHelper.cs