inputmethods_plat/aknfep_pen_support_api/inc/aknfeppeninputenums.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Wed, 09 Jun 2010 10:03:19 +0300
branchRCL_3
changeset 22 1bbdde98cc2d
parent 19 5e18d8c489d6
child 43 ebd48d2de13c
permissions -rw-r--r--
Revision: 201021 Kit: 2010123

/*
* 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,
    ECmdPeninputEnalbeLayoutReDrawWhenActive,
    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