inputmethods_plat/aknfep_pen_support_api/inc/aknfeppeninputenums.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Tue, 27 Apr 2010 16:59:43 +0300
branchRCL_3
changeset 9 e6a39382bb9c
parent 7 6defe5d1bd39
child 12 5e18d8c489d6
permissions -rw-r--r--
Revision: 201015 Kit: 201017

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