Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / UIAutomation / UIAutomationClient / System / Windows / Automation / TreeWalker.cs / 1305600 / TreeWalker.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // // Description: TreeWalker class, allows client to walk custom views of // UIAutomation tree. // // History: // 02/05/2004 : BrendanM Created // //--------------------------------------------------------------------------- using System; using System.Windows.Automation.Provider; using MS.Internal.Automation; namespace System.Windows.Automation { ////// TreeWalker - used to walk over a view of the UIAutomation tree /// #if (INTERNAL_COMPILE) internal sealed class TreeWalker #else public sealed class TreeWalker #endif { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors ////// Create a tree walker that can be used to walk a specified /// view of the UIAutomation tree. /// /// Condition defining the view - nodes that do not satisfy this condition are skipped over public TreeWalker(Condition condition) { Misc.ValidateArgumentNonNull(condition, "condition"); _condition = condition; } #endregion Constructors //------------------------------------------------------ // // Public Constants / Readonly Fields // //----------------------------------------------------- #region Public Constants and Readonly Fields ////// Predefined TreeWalker for walking the Raw view of the UIAutomation tree /// public static readonly TreeWalker RawViewWalker = new TreeWalker(Automation.RawViewCondition); ////// Predefined TreeWalker for walking the Control view of the UIAutomation tree /// public static readonly TreeWalker ControlViewWalker = new TreeWalker(Automation.ControlViewCondition); ////// Predefined TreeWalker for walking the Content view of the UIAutomation tree /// public static readonly TreeWalker ContentViewWalker = new TreeWalker(Automation.ContentViewCondition); #endregion Public Constants and Readonly Fields //------------------------------------------------------ // // Public Methods // //------------------------------------------------------ #region Public Methods ////// Get the parent of the specified element, in the current view /// /// element to get the parent of ///The parent of the specified element; can be null if /// specified element was the root element ///The view used is determined by the condition passed to /// the constructor - elements that do not satisfy that condition /// are skipped over public AutomationElement GetParent(AutomationElement element) { Misc.ValidateArgumentNonNull(element, "element"); return element.Navigate(NavigateDirection.Parent, _condition, null); } ////// Get the first child of the specified element, in the current view /// /// element to get the first child of ///The frst child of the specified element - or null if /// the specified element has no children ///The view used is determined by the condition passed to /// the constructor - elements that do not satisfy that condition /// are skipped over public AutomationElement GetFirstChild(AutomationElement element) { Misc.ValidateArgumentNonNull(element, "element"); return element.Navigate(NavigateDirection.FirstChild, _condition, null); } ////// Get the last child of the specified element, in the current view /// /// element to get the last child of ///The last child of the specified element - or null if /// the specified element has no children ///The view used is determined by the condition passed to /// the constructor - elements that do not satisfy that condition /// are skipped over public AutomationElement GetLastChild(AutomationElement element) { Misc.ValidateArgumentNonNull(element, "element"); return element.Navigate(NavigateDirection.LastChild, _condition, null); } ////// Get the next sibling of the specified element, in the current view /// /// element to get the next sibling of ///The next sibling of the specified element - or null if the /// specified element has no next sibling ///The view used is determined by the condition passed to /// the constructor - elements that do not satisfy that condition /// are skipped over public AutomationElement GetNextSibling(AutomationElement element) { Misc.ValidateArgumentNonNull(element, "element"); return element.Navigate(NavigateDirection.NextSibling, _condition, null); } ////// Get the previous sibling of the specified element, in the current view /// /// element to get the previous sibling of ///The previous sibling of the specified element - or null if the /// specified element has no previous sibling ///The view used is determined by the condition passed to /// the constructor - elements that do not satisfy that condition /// are skipped over public AutomationElement GetPreviousSibling(AutomationElement element) { Misc.ValidateArgumentNonNull(element, "element"); return element.Navigate(NavigateDirection.PreviousSibling, _condition, null); } ////// Return the element or the nearest ancestor which is present in /// the view of the tree used by this treewalker /// /// element to normalize ///The element or the nearest ancestor which satisfies the /// condition used by this TreeWalker ////// This method starts at the specified element and walks up the /// tree until it finds an element that satisfies the TreeWalker's /// condition. /// /// If the passed-in element itself satsifies the condition, it is /// returned as-is. /// /// If the process of walking up the tree hits the root node, then /// the root node is returned, regardless of whether it satisfies /// the condition or not. /// public AutomationElement Normalize(AutomationElement element) { Misc.ValidateArgumentNonNull(element, "element"); return element.Normalize(_condition, null); } ////// Get the parent of the specified element, in the current view, /// prefetching properties /// /// element to get the parent of /// CacheRequest specifying information to be prefetched ///The parent of the specified element; can be null if /// specified element was the root element ///The view used is determined by the condition passed to /// the constructor - elements that do not satisfy that condition /// are skipped over public AutomationElement GetParent(AutomationElement element, CacheRequest request) { Misc.ValidateArgumentNonNull(element, "element"); Misc.ValidateArgumentNonNull(request, "request"); return element.Navigate(NavigateDirection.Parent, _condition, request); } ////// Get the first child of the specified element, in the current view, /// prefetching properties /// /// element to get the first child of /// CacheRequest specifying information to be prefetched ///The frst child of the specified element - or null if /// the specified element has no children ///The view used is determined by the condition passed to /// the constructor - elements that do not satisfy that condition /// are skipped over public AutomationElement GetFirstChild(AutomationElement element, CacheRequest request) { Misc.ValidateArgumentNonNull(element, "element"); Misc.ValidateArgumentNonNull(request, "request"); return element.Navigate(NavigateDirection.FirstChild, _condition, request); } ////// Get the last child of the specified element, in the current view, /// prefetching properties /// /// element to get the last child of /// CacheRequest specifying information to be prefetched ///The last child of the specified element - or null if /// the specified element has no children ///The view used is determined by the condition passed to /// the constructor - elements that do not satisfy that condition /// are skipped over public AutomationElement GetLastChild(AutomationElement element, CacheRequest request) { Misc.ValidateArgumentNonNull(element, "element"); Misc.ValidateArgumentNonNull(request, "request"); return element.Navigate(NavigateDirection.LastChild, _condition, request); } ////// Get the next sibling of the specified element, in the current view, /// prefetching properties /// /// element to get the next sibling of /// CacheRequest specifying information to be prefetched ///The next sibling of the specified element - or null if the /// specified element has no next sibling ///The view used is determined by the condition passed to /// the constructor - elements that do not satisfy that condition /// are skipped over public AutomationElement GetNextSibling(AutomationElement element, CacheRequest request) { Misc.ValidateArgumentNonNull(element, "element"); Misc.ValidateArgumentNonNull(request, "request"); return element.Navigate(NavigateDirection.NextSibling, _condition, request); } ////// Get the previous sibling of the specified element, in the current view, /// prefetching properties /// /// element to get the previous sibling of /// CacheRequest specifying information to be prefetched ///The previous sibling of the specified element - or null if the /// specified element has no previous sibling ///The view used is determined by the condition passed to /// the constructor - elements that do not satisfy that condition /// are skipped over public AutomationElement GetPreviousSibling(AutomationElement element, CacheRequest request) { Misc.ValidateArgumentNonNull(element, "element"); Misc.ValidateArgumentNonNull(request, "request"); return element.Navigate(NavigateDirection.PreviousSibling, _condition, request); } ////// Return the element or the nearest ancestor which is present in /// the view of the tree used by this treewalker, prefetching properties /// for the returned node /// /// element to normalize /// CacheRequest specifying information to be prefetched ///The element or the nearest ancestor which satisfies the /// condition used by this TreeWalker ////// This method starts at the specified element and walks up the /// tree until it finds an element that satisfies the TreeWalker's /// condition. /// /// If the passed-in element itself satsifies the condition, it is /// returned as-is. /// /// If the process of walking up the tree hits the root node, then /// the root node is returned, regardless of whether it satisfies /// the condition or not. /// public AutomationElement Normalize(AutomationElement element, CacheRequest request) { Misc.ValidateArgumentNonNull(element, "element"); Misc.ValidateArgumentNonNull(request, "request"); return element.Normalize(_condition, request); } #endregion Public Methods //----------------------------------------------------- // // Public Properties // //------------------------------------------------------ #region Public Properties ////// Returns the condition used by this TreeWalker. The TreeWalker /// skips over nodes that do not satisfy the condition. /// public Condition Condition { get { return _condition; } } #endregion Public Properties //----------------------------------------------------- // // Private Fields // //----------------------------------------------------- #region Private Fields private Condition _condition; #endregion Private Fields } } // 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. // // // // Description: TreeWalker class, allows client to walk custom views of // UIAutomation tree. // // History: // 02/05/2004 : BrendanM Created // //--------------------------------------------------------------------------- using System; using System.Windows.Automation.Provider; using MS.Internal.Automation; namespace System.Windows.Automation { ////// TreeWalker - used to walk over a view of the UIAutomation tree /// #if (INTERNAL_COMPILE) internal sealed class TreeWalker #else public sealed class TreeWalker #endif { //----------------------------------------------------- // // Constructors // //----------------------------------------------------- #region Constructors ////// Create a tree walker that can be used to walk a specified /// view of the UIAutomation tree. /// /// Condition defining the view - nodes that do not satisfy this condition are skipped over public TreeWalker(Condition condition) { Misc.ValidateArgumentNonNull(condition, "condition"); _condition = condition; } #endregion Constructors //------------------------------------------------------ // // Public Constants / Readonly Fields // //----------------------------------------------------- #region Public Constants and Readonly Fields ////// Predefined TreeWalker for walking the Raw view of the UIAutomation tree /// public static readonly TreeWalker RawViewWalker = new TreeWalker(Automation.RawViewCondition); ////// Predefined TreeWalker for walking the Control view of the UIAutomation tree /// public static readonly TreeWalker ControlViewWalker = new TreeWalker(Automation.ControlViewCondition); ////// Predefined TreeWalker for walking the Content view of the UIAutomation tree /// public static readonly TreeWalker ContentViewWalker = new TreeWalker(Automation.ContentViewCondition); #endregion Public Constants and Readonly Fields //------------------------------------------------------ // // Public Methods // //------------------------------------------------------ #region Public Methods ////// Get the parent of the specified element, in the current view /// /// element to get the parent of ///The parent of the specified element; can be null if /// specified element was the root element ///The view used is determined by the condition passed to /// the constructor - elements that do not satisfy that condition /// are skipped over public AutomationElement GetParent(AutomationElement element) { Misc.ValidateArgumentNonNull(element, "element"); return element.Navigate(NavigateDirection.Parent, _condition, null); } ////// Get the first child of the specified element, in the current view /// /// element to get the first child of ///The frst child of the specified element - or null if /// the specified element has no children ///The view used is determined by the condition passed to /// the constructor - elements that do not satisfy that condition /// are skipped over public AutomationElement GetFirstChild(AutomationElement element) { Misc.ValidateArgumentNonNull(element, "element"); return element.Navigate(NavigateDirection.FirstChild, _condition, null); } ////// Get the last child of the specified element, in the current view /// /// element to get the last child of ///The last child of the specified element - or null if /// the specified element has no children ///The view used is determined by the condition passed to /// the constructor - elements that do not satisfy that condition /// are skipped over public AutomationElement GetLastChild(AutomationElement element) { Misc.ValidateArgumentNonNull(element, "element"); return element.Navigate(NavigateDirection.LastChild, _condition, null); } ////// Get the next sibling of the specified element, in the current view /// /// element to get the next sibling of ///The next sibling of the specified element - or null if the /// specified element has no next sibling ///The view used is determined by the condition passed to /// the constructor - elements that do not satisfy that condition /// are skipped over public AutomationElement GetNextSibling(AutomationElement element) { Misc.ValidateArgumentNonNull(element, "element"); return element.Navigate(NavigateDirection.NextSibling, _condition, null); } ////// Get the previous sibling of the specified element, in the current view /// /// element to get the previous sibling of ///The previous sibling of the specified element - or null if the /// specified element has no previous sibling ///The view used is determined by the condition passed to /// the constructor - elements that do not satisfy that condition /// are skipped over public AutomationElement GetPreviousSibling(AutomationElement element) { Misc.ValidateArgumentNonNull(element, "element"); return element.Navigate(NavigateDirection.PreviousSibling, _condition, null); } ////// Return the element or the nearest ancestor which is present in /// the view of the tree used by this treewalker /// /// element to normalize ///The element or the nearest ancestor which satisfies the /// condition used by this TreeWalker ////// This method starts at the specified element and walks up the /// tree until it finds an element that satisfies the TreeWalker's /// condition. /// /// If the passed-in element itself satsifies the condition, it is /// returned as-is. /// /// If the process of walking up the tree hits the root node, then /// the root node is returned, regardless of whether it satisfies /// the condition or not. /// public AutomationElement Normalize(AutomationElement element) { Misc.ValidateArgumentNonNull(element, "element"); return element.Normalize(_condition, null); } ////// Get the parent of the specified element, in the current view, /// prefetching properties /// /// element to get the parent of /// CacheRequest specifying information to be prefetched ///The parent of the specified element; can be null if /// specified element was the root element ///The view used is determined by the condition passed to /// the constructor - elements that do not satisfy that condition /// are skipped over public AutomationElement GetParent(AutomationElement element, CacheRequest request) { Misc.ValidateArgumentNonNull(element, "element"); Misc.ValidateArgumentNonNull(request, "request"); return element.Navigate(NavigateDirection.Parent, _condition, request); } ////// Get the first child of the specified element, in the current view, /// prefetching properties /// /// element to get the first child of /// CacheRequest specifying information to be prefetched ///The frst child of the specified element - or null if /// the specified element has no children ///The view used is determined by the condition passed to /// the constructor - elements that do not satisfy that condition /// are skipped over public AutomationElement GetFirstChild(AutomationElement element, CacheRequest request) { Misc.ValidateArgumentNonNull(element, "element"); Misc.ValidateArgumentNonNull(request, "request"); return element.Navigate(NavigateDirection.FirstChild, _condition, request); } ////// Get the last child of the specified element, in the current view, /// prefetching properties /// /// element to get the last child of /// CacheRequest specifying information to be prefetched ///The last child of the specified element - or null if /// the specified element has no children ///The view used is determined by the condition passed to /// the constructor - elements that do not satisfy that condition /// are skipped over public AutomationElement GetLastChild(AutomationElement element, CacheRequest request) { Misc.ValidateArgumentNonNull(element, "element"); Misc.ValidateArgumentNonNull(request, "request"); return element.Navigate(NavigateDirection.LastChild, _condition, request); } ////// Get the next sibling of the specified element, in the current view, /// prefetching properties /// /// element to get the next sibling of /// CacheRequest specifying information to be prefetched ///The next sibling of the specified element - or null if the /// specified element has no next sibling ///The view used is determined by the condition passed to /// the constructor - elements that do not satisfy that condition /// are skipped over public AutomationElement GetNextSibling(AutomationElement element, CacheRequest request) { Misc.ValidateArgumentNonNull(element, "element"); Misc.ValidateArgumentNonNull(request, "request"); return element.Navigate(NavigateDirection.NextSibling, _condition, request); } ////// Get the previous sibling of the specified element, in the current view, /// prefetching properties /// /// element to get the previous sibling of /// CacheRequest specifying information to be prefetched ///The previous sibling of the specified element - or null if the /// specified element has no previous sibling ///The view used is determined by the condition passed to /// the constructor - elements that do not satisfy that condition /// are skipped over public AutomationElement GetPreviousSibling(AutomationElement element, CacheRequest request) { Misc.ValidateArgumentNonNull(element, "element"); Misc.ValidateArgumentNonNull(request, "request"); return element.Navigate(NavigateDirection.PreviousSibling, _condition, request); } ////// Return the element or the nearest ancestor which is present in /// the view of the tree used by this treewalker, prefetching properties /// for the returned node /// /// element to normalize /// CacheRequest specifying information to be prefetched ///The element or the nearest ancestor which satisfies the /// condition used by this TreeWalker ////// This method starts at the specified element and walks up the /// tree until it finds an element that satisfies the TreeWalker's /// condition. /// /// If the passed-in element itself satsifies the condition, it is /// returned as-is. /// /// If the process of walking up the tree hits the root node, then /// the root node is returned, regardless of whether it satisfies /// the condition or not. /// public AutomationElement Normalize(AutomationElement element, CacheRequest request) { Misc.ValidateArgumentNonNull(element, "element"); Misc.ValidateArgumentNonNull(request, "request"); return element.Normalize(_condition, request); } #endregion Public Methods //----------------------------------------------------- // // Public Properties // //------------------------------------------------------ #region Public Properties ////// Returns the condition used by this TreeWalker. The TreeWalker /// skips over nodes that do not satisfy the condition. /// public Condition Condition { get { return _condition; } } #endregion Public Properties //----------------------------------------------------- // // Private Fields // //----------------------------------------------------- #region Private Fields private Condition _condition; #endregion Private Fields } } // 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
- ServiceHostFactory.cs
- SizeF.cs
- ListView.cs
- ConfigXmlAttribute.cs
- CompiledQuery.cs
- ListViewGroup.cs
- XmlSchemaChoice.cs
- DescendentsWalker.cs
- TrackBar.cs
- AddInSegmentDirectoryNotFoundException.cs
- SystemResourceHost.cs
- AmbientEnvironment.cs
- GenericUriParser.cs
- BooleanProjectedSlot.cs
- IPipelineRuntime.cs
- ComplexLine.cs
- RelationshipConstraintValidator.cs
- DrawToolTipEventArgs.cs
- PageAsyncTaskManager.cs
- SqlParameter.cs
- DeclarativeCatalogPart.cs
- SessionStateModule.cs
- DataGridViewTextBoxColumn.cs
- ObjectRef.cs
- DecoratedNameAttribute.cs
- DataGridViewBand.cs
- SqlMethodTransformer.cs
- SoapServerProtocol.cs
- NativeMethods.cs
- HandlerFactoryCache.cs
- Section.cs
- WebMessageFormatHelper.cs
- ColorConverter.cs
- SeekStoryboard.cs
- CompilerLocalReference.cs
- Pipe.cs
- GenericAuthenticationEventArgs.cs
- VariantWrapper.cs
- CmsInterop.cs
- RenamedEventArgs.cs
- FreezableCollection.cs
- MenuAdapter.cs
- ListParaClient.cs
- DataGridViewColumnDividerDoubleClickEventArgs.cs
- WorkItem.cs
- PeerInvitationResponse.cs
- RotateTransform.cs
- MDIClient.cs
- TextTreeTextBlock.cs
- XmlSchemaCollection.cs
- TracedNativeMethods.cs
- NativeCompoundFileAPIs.cs
- DictionarySurrogate.cs
- Utilities.cs
- DataException.cs
- XamlClipboardData.cs
- UIElement3DAutomationPeer.cs
- Timer.cs
- GlyphTypeface.cs
- FreezableOperations.cs
- OleDbCommandBuilder.cs
- NamedPipeTransportBindingElement.cs
- ViewKeyConstraint.cs
- CodeChecksumPragma.cs
- IndentTextWriter.cs
- ReaderContextStackData.cs
- ResourceDisplayNameAttribute.cs
- WCFBuildProvider.cs
- DataMemberConverter.cs
- IdentityNotMappedException.cs
- Pair.cs
- _ConnectionGroup.cs
- TdsParser.cs
- Size3DConverter.cs
- FixUp.cs
- HttpException.cs
- BrowserCapabilitiesCompiler.cs
- AxDesigner.cs
- MessageDecoder.cs
- BamlResourceContent.cs
- DeferredSelectedIndexReference.cs
- SubpageParaClient.cs
- TableSectionStyle.cs
- DeviceContexts.cs
- TrustLevelCollection.cs
- Application.cs
- CodeGenerator.cs
- MailMessage.cs
- IIS7WorkerRequest.cs
- SamlDoNotCacheCondition.cs
- QilNode.cs
- LessThan.cs
- SoapElementAttribute.cs
- GetLastErrorDetailsRequest.cs
- RepeaterCommandEventArgs.cs
- DataControlFieldHeaderCell.cs
- BadImageFormatException.cs
- Translator.cs
- XdrBuilder.cs
- OrderedHashRepartitionEnumerator.cs