InputMethodStateTypeInfo.cs source code in C# .NET

Source code for the .NET framework in C#

                        

Code:

/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Core / System / Windows / Input / InputMethodStateTypeInfo.cs / 1 / InputMethodStateTypeInfo.cs

                            //---------------------------------------------------------------------------- 
//
// 
//    Copyright (C) Microsoft Corporation.  All rights reserved.
//  
//
// Description: The information for the compartments. 
// 
// History:
//  07/30/2003 : [....] - Ported from .net tree. 
//
//---------------------------------------------------------------------------

using System.Runtime.InteropServices; 
using System.Collections;
using System.Diagnostics; 
using System.Globalization; 
using System.Security.Permissions;
using System.Windows.Threading; 
using System.Windows;
using MS.Internal; //TextServicesInterop
using MS.Utility;
using MS.Win32; 

using System; 
 
namespace System.Windows.Input
{ 
    //-----------------------------------------------------
    //
    //  InputMethodStateType enum
    // 
    //-----------------------------------------------------
 
    ///  
    /// This is an internal.
    /// This enum identifies the type of input method event. 
    /// 
    internal enum InputMethodStateType
    {
        Invalid, 
        ImeState,
        MicrophoneState, 
        HandwritingState, 
        SpeechMode,
        ImeConversionModeValues, 
        ImeSentenceModeValues,
    }

    internal enum CompartmentScope 
    {
        Invalid, 
        Thread, 
        Global,
    } 

    //------------------------------------------------------
    //
    //  InputMethodEventTypeInfo class 
    //
    //----------------------------------------------------- 
 
    /// 
    /// This is an internal. 
    /// This is a holder of compartment type information.
    /// 
    internal class InputMethodEventTypeInfo
    { 
        //------------------------------------------------------
        // 
        //  Constructors 
        //
        //------------------------------------------------------ 

        internal InputMethodEventTypeInfo(
                                 InputMethodStateType type,
                                 Guid guid, 
                                 CompartmentScope scope)
        { 
            _inputmethodstatetype = type; 
            _guid = guid;
            _scope = scope; 
        }

        //-----------------------------------------------------
        // 
        //  Internal Methods
        // 
        //------------------------------------------------------ 

        #region Internal Methods 

        /// 
        ///    This converts from GUID for ITfCompartment to InputMethodStateType.
        ///  
        internal static InputMethodStateType ToType(ref Guid rguid)
        { 
             for (int i = 0; i < _iminfo.Length; i++) 
             {
                 InputMethodEventTypeInfo im = _iminfo[i]; 

                 if (rguid == im._guid)
                     return im._inputmethodstatetype;
             } 

             Debug.Assert(false, "The guid does not match."); 
             return InputMethodStateType.Invalid; 
        }
 
        #endregion Internal Methods

        //-----------------------------------------------------
        // 
        //  Internal Properties
        // 
        //----------------------------------------------------- 

        #region Internal Properties 

        internal InputMethodStateType Type {get{return _inputmethodstatetype;}}
        internal Guid Guid {get{return _guid;}}
        internal CompartmentScope Scope {get{return _scope;}} 
        internal static InputMethodEventTypeInfo[] InfoList {get{return _iminfo;}}
 
        #endregion Internal Properties 

        //----------------------------------------------------- 
        //
        //  Private Fields
        //
        //------------------------------------------------------ 

        #region Private Fields 
 
        private static readonly InputMethodEventTypeInfo _iminfoImeState =
             new InputMethodEventTypeInfo( 
                     InputMethodStateType.ImeState,
                     UnsafeNativeMethods.GUID_COMPARTMENT_KEYBOARD_OPENCLOSE,
                     CompartmentScope.Thread);
 
        private static readonly InputMethodEventTypeInfo _iminfoHandwritingState =
             new InputMethodEventTypeInfo( 
                     InputMethodStateType.HandwritingState, 
                     UnsafeNativeMethods.GUID_COMPARTMENT_HANDWRITING_OPENCLOSE,
                     CompartmentScope.Thread); 

        private static readonly InputMethodEventTypeInfo _iminfoMicrophoneState =
             new InputMethodEventTypeInfo(
                     InputMethodStateType.MicrophoneState, 
                     UnsafeNativeMethods.GUID_COMPARTMENT_SPEECH_OPENCLOSE,
                     CompartmentScope.Global); 
 
        private static readonly InputMethodEventTypeInfo _iminfoSpeechMode =
             new InputMethodEventTypeInfo( 
                     InputMethodStateType.SpeechMode,
                     UnsafeNativeMethods.GUID_COMPARTMENT_SPEECH_GLOBALSTATE,
                     CompartmentScope.Global);
 
        private static readonly InputMethodEventTypeInfo _iminfoImeConversionMode =
             new InputMethodEventTypeInfo( 
                     InputMethodStateType.ImeConversionModeValues, 
                     UnsafeNativeMethods.GUID_COMPARTMENT_KEYBOARD_INPUTMODE_CONVERSION,
                     CompartmentScope.Thread); 

        private static readonly InputMethodEventTypeInfo _iminfoImeSentenceMode =
             new InputMethodEventTypeInfo(
                     InputMethodStateType.ImeSentenceModeValues, 
                     UnsafeNativeMethods.GUID_COMPARTMENT_KEYBOARD_INPUTMODE_SENTENCE,
                     CompartmentScope.Thread); 
 
        private static readonly InputMethodEventTypeInfo[] _iminfo =
            new InputMethodEventTypeInfo[] { 
                    _iminfoImeState,
                    _iminfoHandwritingState,
                    _iminfoMicrophoneState,
                    _iminfoSpeechMode, 
                    _iminfoImeConversionMode,
                    _iminfoImeSentenceMode}; 
 
        private InputMethodStateType _inputmethodstatetype;
        private Guid _guid; 
        private CompartmentScope _scope;

        #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