Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Core / CSharp / System / Windows / Input / InputMethodStateTypeInfo.cs / 1305600 / InputMethodStateTypeInfo.cs
//---------------------------------------------------------------------------- // //// Copyright (C) Microsoft Corporation. All rights reserved. // // // Description: The information for the compartments. // // History: // 07/30/2003 : yutakas - 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
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ListenerPerfCounters.cs
- ConfigXmlCDataSection.cs
- Selection.cs
- TextElementCollection.cs
- HandlerFactoryWrapper.cs
- FixedSchema.cs
- TriggerAction.cs
- BindingObserver.cs
- CompilerState.cs
- ItemDragEvent.cs
- FixedSOMTextRun.cs
- TextTreeInsertElementUndoUnit.cs
- EntityTypeEmitter.cs
- HtmlForm.cs
- SelectionEditingBehavior.cs
- SiteMapSection.cs
- RegexNode.cs
- ResetableIterator.cs
- GridViewEditEventArgs.cs
- SchemaContext.cs
- DataGridParentRows.cs
- MsmqOutputMessage.cs
- KnowledgeBase.cs
- NavigationProperty.cs
- SqlTrackingService.cs
- Literal.cs
- SpecularMaterial.cs
- FloaterBaseParaClient.cs
- ProfileProvider.cs
- ToolStripLocationCancelEventArgs.cs
- DesignTimeXamlWriter.cs
- ItemAutomationPeer.cs
- IdnElement.cs
- webbrowsersite.cs
- XmlArrayAttribute.cs
- BufferedWebEventProvider.cs
- UrlPath.cs
- IOException.cs
- SocketException.cs
- NetNamedPipeSecurity.cs
- WebPartCatalogCloseVerb.cs
- Renderer.cs
- SortQuery.cs
- SwitchDesigner.xaml.cs
- StrokeCollection2.cs
- MessageQueueConverter.cs
- QueryExtender.cs
- StatusBarPanel.cs
- SmtpLoginAuthenticationModule.cs
- PackWebRequestFactory.cs
- SqlBuilder.cs
- HostProtectionPermission.cs
- ComponentEditorForm.cs
- UnsafeNativeMethods.cs
- CodeTypeMemberCollection.cs
- BinaryMessageEncodingElement.cs
- SizeChangedEventArgs.cs
- XmlNamedNodeMap.cs
- TreeNodeStyle.cs
- BufferedGraphics.cs
- Calendar.cs
- DrawingContext.cs
- ObjectTag.cs
- Popup.cs
- grammarelement.cs
- EnumConverter.cs
- ResourceDescriptionAttribute.cs
- DesignTimeTemplateParser.cs
- XpsFilter.cs
- DrawingCollection.cs
- HostingEnvironmentSection.cs
- Quack.cs
- FrameworkElementAutomationPeer.cs
- DataGridColumn.cs
- EntityTypeBase.cs
- ClientBuildManager.cs
- ImageFormatConverter.cs
- DriveNotFoundException.cs
- BoundField.cs
- AssemblyHash.cs
- FrameworkContentElementAutomationPeer.cs
- SessionParameter.cs
- KeyGestureValueSerializer.cs
- XmlSchemaProviderAttribute.cs
- XMLUtil.cs
- ELinqQueryState.cs
- Pointer.cs
- DateTimeParse.cs
- StreamGeometry.cs
- ProcessThreadCollection.cs
- EventWaitHandleSecurity.cs
- SqlClientFactory.cs
- EntityDataSourceChangingEventArgs.cs
- APCustomTypeDescriptor.cs
- Int64AnimationUsingKeyFrames.cs
- RightsController.cs
- WebServiceParameterData.cs
- CodeEntryPointMethod.cs
- PropertyChangedEventManager.cs
- Win32Exception.cs