RichTextBoxAutomationPeer.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / Framework / System / Windows / Automation / Peers / RichTextBoxAutomationPeer.cs / 1 / RichTextBoxAutomationPeer.cs

                            using System; 
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Security;
using System.Text; 
using System.Windows;
using System.Windows.Automation.Provider; 
using System.Windows.Controls; 
using System.Windows.Documents;
using System.Windows.Interop; 
using System.Windows.Media;

using MS.Internal.Documents;
using MS.Internal; 
using MS.Win32;
 
namespace System.Windows.Automation.Peers 
{
    /// 
    public class RichTextBoxAutomationPeer : TextAutomationPeer
    {
        ///
        public RichTextBoxAutomationPeer(RichTextBox owner): base(owner) 
        {}
 
        /// 
        override protected string GetClassNameCore()
        { 
            return "RichTextBox";
        }

        /// 
        override protected AutomationControlType GetAutomationControlTypeCore()
        { 
            return AutomationControlType.Document; 
        }
 
        ///
        override public object GetPattern(PatternInterface patternInterface)
        {
            object returnValue = null; 
            RichTextBox owner = (RichTextBox)Owner;
 
            if (patternInterface == PatternInterface.Text) 
            {
                returnValue = new MS.Internal.Automation.TextAdaptor(this, owner.TextContainer); 
            }

            if (patternInterface == PatternInterface.Scroll)
            { 
                if (owner.ScrollViewer != null)
                { 
                    returnValue = owner.ScrollViewer.CreateAutomationPeer(); 
                    ((AutomationPeer)returnValue).EventsSource = this;
                } 
            }

            return returnValue;
        } 

        ///  
        ///  
        /// 
        protected override List GetChildrenCore() 
        {
            RichTextBox owner = (RichTextBox)Owner;
            return TextContainerHelper.GetAutomationPeersFromRange(owner.TextContainer.Start, owner.TextContainer.End, null);
        } 

        ///  
        /// Gets collection of AutomationPeers for given text range. 
        /// 
        internal override List GetAutomationPeersFromRange(ITextPointer start, ITextPointer end) 
        {
            // Force children connection to automation tree.
            GetChildren();
 
            RichTextBox owner = (RichTextBox)Owner;
            return TextContainerHelper.GetAutomationPeersFromRange(start, end, owner.TextContainer.Start); 
        } 
    }
} 


// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
using System; 
using System.Collections.Generic;
using System.Runtime.InteropServices;
using System.Security;
using System.Text; 
using System.Windows;
using System.Windows.Automation.Provider; 
using System.Windows.Controls; 
using System.Windows.Documents;
using System.Windows.Interop; 
using System.Windows.Media;

using MS.Internal.Documents;
using MS.Internal; 
using MS.Win32;
 
namespace System.Windows.Automation.Peers 
{
    /// 
    public class RichTextBoxAutomationPeer : TextAutomationPeer
    {
        ///
        public RichTextBoxAutomationPeer(RichTextBox owner): base(owner) 
        {}
 
        /// 
        override protected string GetClassNameCore()
        { 
            return "RichTextBox";
        }

        /// 
        override protected AutomationControlType GetAutomationControlTypeCore()
        { 
            return AutomationControlType.Document; 
        }
 
        ///
        override public object GetPattern(PatternInterface patternInterface)
        {
            object returnValue = null; 
            RichTextBox owner = (RichTextBox)Owner;
 
            if (patternInterface == PatternInterface.Text) 
            {
                returnValue = new MS.Internal.Automation.TextAdaptor(this, owner.TextContainer); 
            }

            if (patternInterface == PatternInterface.Scroll)
            { 
                if (owner.ScrollViewer != null)
                { 
                    returnValue = owner.ScrollViewer.CreateAutomationPeer(); 
                    ((AutomationPeer)returnValue).EventsSource = this;
                } 
            }

            return returnValue;
        } 

        ///  
        ///  
        /// 
        protected override List GetChildrenCore() 
        {
            RichTextBox owner = (RichTextBox)Owner;
            return TextContainerHelper.GetAutomationPeersFromRange(owner.TextContainer.Start, owner.TextContainer.End, null);
        } 

        ///  
        /// Gets collection of AutomationPeers for given text range. 
        /// 
        internal override List GetAutomationPeersFromRange(ITextPointer start, ITextPointer end) 
        {
            // Force children connection to automation tree.
            GetChildren();
 
            RichTextBox owner = (RichTextBox)Owner;
            return TextContainerHelper.GetAutomationPeersFromRange(start, end, owner.TextContainer.Start); 
        } 
    }
} 


// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
                        

Link Menu

Network programming in C#, Network Programming in VB.NET, Network Programming in .NET
This book is available now!
Buy at Amazon US or
Buy at Amazon UK