/*
* Copyright (c) 2002-2005 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0""
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description: Pen input related enums
*
*/
#ifndef AKNFEPPENINPUTENUMS_H
#define AKNFEPPENINPUTENUMS_H
#include <peninputcmd.h>
/**
*TAknFepPenInputCmd
*The command is sent from FEP to IME plugin
*Some commands have a TInt parameter
*/
enum TAknFepPenInputCmd
{
ECmdPenInputBase,
/**
* Set allowed input range
* Parameter is input permitted mode
*/
ECmdPenInputPermittedRange,
/**
* Parameter is TAknEditorNumericKeymap
*/
ECmdPenInputEditorNumericKeyMap,
/**
* Parameter is the case
*/
ECmdPenInputCase,
/**
* Parameter is editor input language
*/
ECmdPenInputLanguage,
/**
* Parameter is CAknEdwinState*, the command is only
* sent to IME plugin.
*/
ECmdPenInputEditorState,
/**
* When current editor is data query, UI needs adjust position
* The command is sent to IME plugin then goes to UI layout
*
* Parameter is,
* to IME plugin, TRect* means data query dialog rect
* to UI layout, a Desc contains TRect
*/
ECmdPenInputSetWindowPos,
/**
* Parameter is TAknFepPenInputOpenMode, indicating open method
*/
ECmdPenInputWindowOpen,
/**
* No parameter
*/
ECmdPenInputWindowClose,
/**
* Parameter is a TBool to indicate whether change case is allowed
*/
ECmdPenInputAllowChangeCase,
/**
* Parameter is TInt, case mode
*/
ECmdPenInputCaseMode,
/**
* Parameter is TInt, primary range
*/
ECmdPenInputRange,
ECmdPenInputPermittedCase,
ECmdPenInputPluginInputMode,
ECmdPenInputEnableSettingBtn,
ECmdPenInputEditorCustomNumericKeyMap,
ECmdPenInputSuggestRange,
ECmdPenInputIsSecretText,
ECmdPenInputIsNumberGrouping,
/**
* Parameter is a TBool to indicate whether dim arrow keys
* in FindPane Editor
*/
ECmdPenInputDimArrowKeys,
ECmdPenInputSendEditorTextAndCurPos,
/**
* Japanese setting information for peninput.
* The following setting information is included as parameter.
* Deleting direction - 1st bit BIT ON(right side) / OFF(left side)
* Japanese predictive - 2nd bit BIT ON(predictive on) / OFF(predictive off)
* Japanese conversion - 3rd bit BIT ON(conversion on) / OFF(conversion off)
* Character width - 4th bit BIT ON(full-width) / OFF(half-width)
* Japanese Qwerty Comma - 5th bit BIT ON(Japanese)/OFF(Western)
* Japanese Qwerty Period - 6th bit BIT ON(Japanese)/OFF(Western)
* Japanese Qwerty Width Of Space - 7th bit BIT ON(Full)/OFF(Half)
* Lunch SCT - 8th bit BIT ON(allow)/OFF(not allow)
*/
ECmdPenInputJapaneseSetting,
ECmdPenInputJapaneseSetSubRange,
ECmdPenInputJapaneseGetModeOfSubRange,
ECmdPenInputFingerInputMode,
ECmdPenInputFingerOpenSCT, //1020
ECmdPenInputFingerCloseSCT,
ECmdPenInputDimKey,
ECmdPenInputHideKey,
ECmdFingerShowKey,
ECmdPenInputFingerHideLayout,
ECmdPenInputFingerEvent,
ECmdPenInputFingerLongKeyPress, //1028
ECmdPenInputFingerKeyPress, //1029
ECmdPenInputFingerMatchSelection,//1030
ECmdPenInputFingerMatchList,
ECmdPenInputFingerMatchIndicator,
ECmdPenInputFingerSpelling,
ECmdPenInputFingerShowSpellEntry,
ECmdPenInputSetTextAlignment,
ECmdPenInputSetPromptText,
ECmdPenInputNoFreeSpace,
ECmdPenInputDeActive,
ECmdPenInputSendEditMenuData,
ECmdPenInputActive,
ECmdPenInputCharacterPreview,
ECmdPenInputEnableIndicatorButton,
ECmdPenInputSymbolOfHardKeyOne,
ECmdPeninputAvkonFepState,
ECmdPeninputCandidateList,
ECmdPeninputCandidateIndex,
ECmdPenInputFingerKutenQuery,
ECmdPenInputInEditWordQueryDlg,
ECmdPenInputRotation,
ECmdPenInputPopupTooltip,
ECmdPenInputHideTooltip,
ECmdPenInputPopupCandidateList,
ECmdPenInputHideCandidateList,
ECmdPeninputITIStatus,
ECmdPeninputSpellLanguageMode,
ECmdPeninputSpellICFDisplayContent,
ECmdPenInputDimEnterKey,
ECmdPeninputEnableOwnBitmap,
ECmdPeninputDisableLayoutDrawing,
ECmdPeninputArabicNumModeChanged,
ECmdPenInputImeCmdBase = 2000
};
enum TAknFepPenInputSignal
{
ESignalPenInput = ESignalUserEventBase,
/**
* When plugin UI change case mode, notify FEP
* Parameter is case mode.
*/
ESignalCaseMode,
ESignalRange,
ESignalMessage,
ESignalReplaceText,
ESignalReplaceTextJp,
ESignalReplacePartText
};
enum TAknFepPenInputRange
{
ERangeInvalid = 0,
ERangeNative = 0x01,
ERangeEnglish = 0x02,
ERangeNumber = 0x04,
ERangeSymbol = 0x08,
ERangeAccent = 0x10
};
/**
*TAknFepPenInputJapaneseSubRange
* for Japanese ERangeNative
*/
enum TAknFepPenInputJapaneseSubRange
{
ERangeHiraganaKanji = 0x20, // for Japanese variant
ERangeKatakana = 0x40, // for Japanese variant
ERangeFullWidthKatakana = 0x80, // for Japanese variant
ERangeFullWidthEnglish = 0x100, // for Japanese variant
ERangeFullWidthNumeric = 0x200, // for Japanese variant
ERangeHiraganaOnly = 0x400 // for Japanese variant
};
enum TAknFepPenInputCaseMode
{
ECaseInvalide = 0,
//ABC
ECaseUpper = 1,
//abc
ECaseLower = 2,
//Abc
ECaseText = 4,
//aBC
ECaseInverseText = 8
};
enum TAknFepPenInputOpenMode
{
//Pen input service is opened automatically by program internal logic
EPenInputOpenAutomatically,
//Pen input service is opened by clicking touch input icon
EPenInputOpenManually
};
/**
*TAknFepPenInputJapaneseSetting
* for ECmdPenInputJapaneseSetting command
*/
enum TAknFepPenInputJapaneseSetting
{
// Deleting direction ON(right side) / OFF(left side)
EPenInputJapaneseSettingDeletingDirection = 0x00000001,
// Japanese predictive ON(predictive on) / OFF(predictive off)
EPenInputJapaneseSettingPredictive = 0x00000002,
// Japanese HWR conversion ON(conversion on) / OFF(conversion off)
EPenInputJapaneseSettingConversion = 0x00000004,
// Character width ON(full-width) / OFF(half-width)
EPenInputJapaneseSettingCharacterWidth = 0x00000008,
// Japanese Qwerty Comma ON(Japanese)/OFF(Western)
EPenInputJapaneseSettingQwertyComma = 0x00000010,
// Japanese Qwerty Period ON(Japanese)/OFF(Western)
EPenInputJapaneseSettingQwertyPeriod = 0x00000020,
// Japanese Qwerty Width Of Space ON(Full)/OFF(Half)
EPenInputJapaneseSettingQwertyWidthOfSpace = 0x00000040,
// Lunch SCT ON(allow)/OFF(not allow)
EPenInputJapaneseSettingLunchSCT = 0x00000080,
// Hiragana Romaji input methods ON(Romaji)/OFF(Kana)
EPenInputJapaneseSettingRomajiInput = 0x00000100
};
/**
* TAknFepPenInputSettingWritingSpeed
* for pen input general setting and hwr input methods
*/
enum TAknFepPenInputSettingWritingSpeed
{
EPenInputWritingSpeedVeryFast = 1,
EPenInputWritingSpeedFast,
EPenInputWritingSpeedNormal,
EPenInputWritingSpeedSlow,
EPenInputWritingSpeedVerySlow
};
enum TAknFepPenInputWritingCharDelay
{
EPenInputWritingCharDelayVeryFast = 300*1000,
EPenInputWritingCharDelayFast = 400*1000,
EPenInputWritingCharDelayNormal = 550*1000,
EPenInputWritingCharDelaySlow = 700*1000,
EPenInputWritingCharDelayVerySlow = 1000*1000
};
#endif // AKNFEPPENINPUTENUMS_H
// End Of File