InvokePattern.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / UIAutomation / UIAutomationClient / System / Windows / Automation / InvokePattern.cs / 1 / InvokePattern.cs

                            //---------------------------------------------------------------------------- 
//
// 
//    Copyright (C) Microsoft Corporation.  All rights reserved.
//  
//
// 
// Description: Client-side wrapper for Invoke Pattern 
//
// History: 
//  06/23/2003 : BrendanM Ported to WCP
//
//---------------------------------------------------------------------------
 
using System;
using System.Windows.Automation.Provider; 
using MS.Internal.Automation; 

namespace System.Windows.Automation 
{


    ///  
    /// Represents objects that have a single, unambiguous, action associated with them.
    /// 
    /// Examples of UI that implments this includes: 
    /// Push buttons
    /// Hyperlinks 
    /// Menu items
    /// Radio buttons
    /// Check boxes
    ///  
#if (INTERNAL_COMPILE)
    internal class InvokePattern: BasePattern 
#else 
    public class InvokePattern: BasePattern
#endif 
    {
        //-----------------------------------------------------
        //
        //  Constructors 
        //
        //----------------------------------------------------- 
 
        #region Constructors
 
        private InvokePattern(AutomationElement el, SafePatternHandle hPattern)
            : base(el, hPattern)
        {
            _hPattern = hPattern; 
        }
 
        #endregion Constructors 

 
        //------------------------------------------------------
        //
        //  Public Constants / Readonly Fields
        // 
        //-----------------------------------------------------
 
        #region Public Constants and Readonly Fields 

        /// Invokable pattern 
        public static readonly AutomationPattern Pattern = InvokePatternIdentifiers.Pattern;

        /// Event ID: Invoked - event used to watch for Invokable pattern Invoked events
        public static readonly AutomationEvent InvokedEvent = InvokePatternIdentifiers.InvokedEvent; 

        #endregion Public Constants and Readonly Fields 
 

        //------------------------------------------------------ 
        //
        //  Public Methods
        //
        //------------------------------------------------------ 

        #region Public Methods 
 
        /// 
        /// Request that the control initiate its action. 
        /// Should return immediately without blocking.
        /// There is no way to determine what happened, when it happend, or whether
        /// anything happened at all.
        ///  
        ///
        ///  
        /// This API does not work inside the secure execution environment. 
        /// 
        ///  
        public void Invoke()
        {
            UiaCoreApi.InvokePattern_Invoke(_hPattern);
        } 

        #endregion Public Methods 
 

        //----------------------------------------------------- 
        //
        //  Public Properties
        //
        //------------------------------------------------------ 

        #region Public Properties 
 
        // No properties
 
        #endregion Public Properties


        //----------------------------------------------------- 
        //
        //  Internal Methods 
        // 
        //-----------------------------------------------------
 
        #region Internal Methods

        internal static object Wrap(AutomationElement el, SafePatternHandle hPattern, bool cached)
        { 
            return new InvokePattern(el, hPattern);
        } 
 
        #endregion Internal Methods
 
        //-----------------------------------------------------
        //
        //  Private Fields
        // 
        //------------------------------------------------------
 
        #region Private Fields 

        private SafePatternHandle _hPattern; 

        #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: Client-side wrapper for Invoke Pattern 
//
// History: 
//  06/23/2003 : BrendanM Ported to WCP
//
//---------------------------------------------------------------------------
 
using System;
using System.Windows.Automation.Provider; 
using MS.Internal.Automation; 

namespace System.Windows.Automation 
{


    ///  
    /// Represents objects that have a single, unambiguous, action associated with them.
    /// 
    /// Examples of UI that implments this includes: 
    /// Push buttons
    /// Hyperlinks 
    /// Menu items
    /// Radio buttons
    /// Check boxes
    ///  
#if (INTERNAL_COMPILE)
    internal class InvokePattern: BasePattern 
#else 
    public class InvokePattern: BasePattern
#endif 
    {
        //-----------------------------------------------------
        //
        //  Constructors 
        //
        //----------------------------------------------------- 
 
        #region Constructors
 
        private InvokePattern(AutomationElement el, SafePatternHandle hPattern)
            : base(el, hPattern)
        {
            _hPattern = hPattern; 
        }
 
        #endregion Constructors 

 
        //------------------------------------------------------
        //
        //  Public Constants / Readonly Fields
        // 
        //-----------------------------------------------------
 
        #region Public Constants and Readonly Fields 

        /// Invokable pattern 
        public static readonly AutomationPattern Pattern = InvokePatternIdentifiers.Pattern;

        /// Event ID: Invoked - event used to watch for Invokable pattern Invoked events
        public static readonly AutomationEvent InvokedEvent = InvokePatternIdentifiers.InvokedEvent; 

        #endregion Public Constants and Readonly Fields 
 

        //------------------------------------------------------ 
        //
        //  Public Methods
        //
        //------------------------------------------------------ 

        #region Public Methods 
 
        /// 
        /// Request that the control initiate its action. 
        /// Should return immediately without blocking.
        /// There is no way to determine what happened, when it happend, or whether
        /// anything happened at all.
        ///  
        ///
        ///  
        /// This API does not work inside the secure execution environment. 
        /// 
        ///  
        public void Invoke()
        {
            UiaCoreApi.InvokePattern_Invoke(_hPattern);
        } 

        #endregion Public Methods 
 

        //----------------------------------------------------- 
        //
        //  Public Properties
        //
        //------------------------------------------------------ 

        #region Public Properties 
 
        // No properties
 
        #endregion Public Properties


        //----------------------------------------------------- 
        //
        //  Internal Methods 
        // 
        //-----------------------------------------------------
 
        #region Internal Methods

        internal static object Wrap(AutomationElement el, SafePatternHandle hPattern, bool cached)
        { 
            return new InvokePattern(el, hPattern);
        } 
 
        #endregion Internal Methods
 
        //-----------------------------------------------------
        //
        //  Private Fields
        // 
        //------------------------------------------------------
 
        #region Private Fields 

        private SafePatternHandle _hPattern; 

        #endregion Private Fields
    }
} 

// 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