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

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- FlowLayoutPanel.cs
- HandleRef.cs
- SevenBitStream.cs
- ByteBufferPool.cs
- EnumDataContract.cs
- ObjectListCommandsPage.cs
- RawAppCommandInputReport.cs
- PasswordBoxAutomationPeer.cs
- XmlNodeChangedEventArgs.cs
- HeaderCollection.cs
- CodeExpressionStatement.cs
- UnsafeNativeMethods.cs
- FileSystemWatcher.cs
- BinHexEncoding.cs
- XmlLinkedNode.cs
- EntityContainerRelationshipSet.cs
- ClassGenerator.cs
- RoutedEventConverter.cs
- WindowsFormsHelpers.cs
- DataViewSettingCollection.cs
- WebDescriptionAttribute.cs
- InternalDuplexChannelFactory.cs
- AssemblyUtil.cs
- WebEventCodes.cs
- peernodestatemanager.cs
- CodeParameterDeclarationExpression.cs
- TrackingMemoryStreamFactory.cs
- GenericTypeParameterBuilder.cs
- NamespaceMapping.cs
- ProjectionCamera.cs
- LowerCaseStringConverter.cs
- DataSetUtil.cs
- InvalidCastException.cs
- MatrixCamera.cs
- AttributeQuery.cs
- RecordConverter.cs
- TextProviderWrapper.cs
- BaseServiceProvider.cs
- TrackingParticipant.cs
- FixedTextView.cs
- HashSetDebugView.cs
- AssociationSetMetadata.cs
- MgmtConfigurationRecord.cs
- Opcode.cs
- DataGridLinkButton.cs
- StylusEventArgs.cs
- BorderGapMaskConverter.cs
- MappingSource.cs
- CallInfo.cs
- DesignerAttribute.cs
- NavigateUrlConverter.cs
- RepeaterDesigner.cs
- VolatileResourceManager.cs
- SecurityRuntime.cs
- SqlExpressionNullability.cs
- OperationAbortedException.cs
- ElasticEase.cs
- Transform3DGroup.cs
- WorkflowRuntimeServiceElement.cs
- RichTextBox.cs
- DelayedRegex.cs
- Renderer.cs
- SelectedGridItemChangedEvent.cs
- UseLicense.cs
- AggregationMinMaxHelpers.cs
- DesignBindingValueUIHandler.cs
- BindStream.cs
- ValidatingReaderNodeData.cs
- UICuesEvent.cs
- EdmToObjectNamespaceMap.cs
- SqlInternalConnection.cs
- CompModSwitches.cs
- FocusManager.cs
- MarginCollapsingState.cs
- HandleDictionary.cs
- RealProxy.cs
- AppDomainUnloadedException.cs
- RightsManagementPermission.cs
- ConfigurationErrorsException.cs
- RegionInfo.cs
- ProbeDuplexAsyncResult.cs
- CodeDelegateInvokeExpression.cs
- AttributeQuery.cs
- QueryContinueDragEvent.cs
- OrCondition.cs
- MeshGeometry3D.cs
- StateFinalizationDesigner.cs
- WebPartMinimizeVerb.cs
- EndpointAddressMessageFilter.cs
- SoapTypeAttribute.cs
- BindingExpression.cs
- AudioException.cs
- SynchronizationFilter.cs
- KeyGestureConverter.cs
- TreeViewItemAutomationPeer.cs
- DockAndAnchorLayout.cs
- HandlerFactoryWrapper.cs
- TemplateBaseAction.cs
- SettingsPropertyWrongTypeException.cs
- DesignTimeParseData.cs