textinput/peninputsplititut/inc/peninputsplititutdata.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 19 Feb 2010 23:09:27 +0200
branchRCL_3
changeset 3 f5a1e66df979
parent 0 eb1f2e154e89
child 5 a47de9135b21
permissions -rw-r--r--
Revision: 201003 Kit: 201007

/*
* Copyright (c) 2009 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:
*
*/
#ifndef T_PENINPUTSPLITCHNITUTDATA_H
#define T_PENINPUTSPLITCHNITUTDATA_H

#include <peninputlayoutbasecontrol.h>
#include <aknfeppeninputenums.h>
#include <PtiDefs.h>
#include <e32keys.h>
#include <AknLayout2Def.h>


//#include "peninputsplititutcustomization.h"

const TInt KInvalidScanCode = -1;
const TInt KInvalidCtrlId = -1;

enum TItutDataType
    {
    EScreenSize,
    ELayoutOffset,
    ELayoutRect,
    EBackgroundRect,
    EBackspaceRect,
    EArrowLeftRect,
    EArrowRightRect,
    EArrowUpRect,
    EArrowDownRect,
    EOptionsRect,
    ECloseRect,
    EKeypadRect,
    EKeypadCellRects,
    EKeypadLeftTextLine,
    EKeypadRightTextLine1,
    EKeypadRightTextLine2,
    EKeypadRightTextLine3,
    EDropdownlistUnitWidth,
    EDropdownlistUnitHeight,
    EDropdownlistHorizontalMargin,
    EDropdownlistVerticalMargin,
    EDropdownListNaviWidth,
    EDropdownListSpinBtnHeight,
    EDropdownListSpellLTPos,
    EDropdownListCandsLTPos,
    EDropdownListPuncLTPos,
    EDropdownListFont,
    EDropdownListTextMargin,
    EDropdownListTextColor,
    ESpellRect,    // used to indicate stroke and zhuyin spelling
    ESpellFont,
    ESpellTextColor,
    ELanguage,
    EInputMode,
    ECase,
    EChnCandidates,
    EChnPuncCandidates,
    ELeftInnerRect,
    ERightInnerRect,
    EBackspaceInnerRect,
    EUpInnerRect,
    EDownInnerRect,
    ECloseInnerRect,
    EOptionInnerRect,
    ELatinOnly,
    EPreviewBubbleRect,
    EPreviewBubbleInnerRect,
    EPreviewBubbleFont,
    EPreviewBubbleTextlayout,
    };

enum TControlId
    {
    ECtrlIdBackspace = 1000,
    ECtrlIdArrowLeft,
    ECtrlIdArrowRight,
    ECtrlIdArrowUp,
    ECtrlIdArrowDown,
    ECtrlIdOptions,
    ECtrlIdClose,
    ECtrlIdStdItut,
    ECtrlIdSpellICF,    // used to display spelling of stroke and zhuyin
    ECtrlIdSpellCandsList,
    ECtrlIdStdCandsList,
    ECtrlIdPuncCandsList,
    ECtrlIdBackground,  // used to display background
    ECtrlIdCancelWindow,
    ECtrlIdLastStdCtrl = ECtrlIdBackground + 1
    };

enum TItutCommand
    {
    EItutCmdCandidateSelected = ECmdPenInputImeCmdBase + 1,
    EItutCmdGetNextCandidatePage,
    EItutCmdGetPreviousCandidatePage,
    EItutCmdCandidateExisted,
    EItutCmdPredictItemSelected,
    EItutCmdArrowUp,
    EItutCmdArrowDown,
    EItutCmdCheckIcfEmpty
    };
    
enum TItutCandidatesIdx
    {
    EItutCandidates,
    EItutPuncCandidates
    };

enum TItutConfigurableKeys
    {
    EItutKeyArrowLeft,
    EItutKeyArrowRight,
    EItutKeyArrowUp,
    EItutKeyArrowDown,
    EItutKeyClear,
    EItutKeySwitchLayout,
    EItutKey1,
    EItutKey2,
    EItutKey3,
    EItutKey4,
    EItutKey5,
    EItutKey6,
    EItutKey7,
    EItutKey8,
    EItutKey9,
    EItutKeyStar,
    EItutKey0,
    EItutKeyHash
    };



class TItutKeyMapping
    {
public:
    TInt iKeyIdx;
    TInt iCtrlId;     // only valid when key is a button
    TInt iScanCode;   // only valid when key is a virtual key in keyboard
    };

const TItutKeyMapping ItutKeymap[] = 
    {
    {EItutKeyArrowLeft, ECtrlIdArrowLeft, KInvalidScanCode},
    {EItutKeyArrowRight, ECtrlIdArrowRight, KInvalidScanCode},
    {EItutKeyArrowUp, ECtrlIdArrowUp, KInvalidScanCode},
    {EItutKeyArrowDown, ECtrlIdArrowDown, KInvalidScanCode},
    {EItutKeyClear, ECtrlIdBackspace, KInvalidScanCode},
    {EItutKey1, KInvalidCtrlId, EPtiKey1},
    {EItutKey2, KInvalidCtrlId, EPtiKey2},
    {EItutKey3, KInvalidCtrlId, EPtiKey3},
    {EItutKey4, KInvalidCtrlId, EPtiKey4},
    {EItutKey5, KInvalidCtrlId, EPtiKey5},
    {EItutKey6, KInvalidCtrlId, EPtiKey6},
    {EItutKey7, KInvalidCtrlId, EPtiKey7},
    {EItutKey8, KInvalidCtrlId, EPtiKey8},
    {EItutKey9, KInvalidCtrlId, EPtiKey9},
    {EItutKeyStar, KInvalidCtrlId, EStdKeyNkpAsterisk},
    {EItutKey0, KInvalidCtrlId, EPtiKey0},
    {EItutKeyHash, KInvalidCtrlId, EStdKeyHash},
    };

const TInt LangsArr[] = 
    {
    1,   2,   3,   4,   5,   6,   7,   8,   9,   10, 
    11,  12,  13,  14,  15,  17,  18,  20,  21,  22,  
    23,  24,  25,  26,  27,  28,  39,  44,  45,  46,  
    47,  48,  49,  51,  59,  67,  68,  70,  76,  78,  
    79,  82,  83,  85,  91,  96,  102, 103, 401, 402,
    16,  42,  93,  54,  55,  57,  37,  50,  94,  33, 
    29,  30,  31,  58,  72,
    };

_LIT(KLatinExt, "latin");
_LIT(KCyrillicExt, "cyrillic");
_LIT(KGreekExt, "greek");
_LIT(KHebrewExt, "hebrew");
_LIT(KArabicExt, "arabic");
_LIT(KFarsiExt, "farsi");
_LIT(KUrduExt, "urdu");
_LIT(KThaiExt, "thai");
_LIT(KChnExt, "chinese");
_LIT(KDevanagiriExt, "devanagari");

enum TScriptExtIndex
    {
    ELatinExt,
    ECyrillicExt,
    EGreekExt,
    EHebrewExt,
    EArabicExt,
    EFarsiExt,
    EUrduExt,
    EThaiExt,
    EChnExt,
    EDevanagiriExt
    };

struct TScriptInfo
    {
    TBool iCaseSensitive;
    TInt iStartIdx;   // lang start index in langs
    TInt iEndIdx;     // lang end index in langs
    TScriptExtIndex iScriptExt;
    };
    
const TScriptInfo TScriptMapping[] = 
    {
    {ETrue,  0,  49, ELatinExt},
    {ETrue,  50, 52, ECyrillicExt},
    {ETrue,  53, 54, EGreekExt},
    {EFalse, 55, 55, EHebrewExt},
    {EFalse, 56, 56, EArabicExt},
    {EFalse, 57, 57, EFarsiExt},
    {EFalse, 58, 58, EUrduExt},
    {EFalse, 59, 59, EThaiExt},
    {ETrue, 60, 62, EChnExt}, // chinese also include abc
    {ETrue, 63, 64, EDevanagiriExt},
    };

#endif  // T_PENINPUTSPLITCHNITUTDATA_H

//End Of File